Это происходит каждый раз, когда Вы используете gvim? Работы gvim кроме отъезда зомби после того, как это выходит? Если это не вызывает настоящие проблемы, я просто проигнорировал бы его - зомби не облагают налогом ресурсы системы. Я не был бы удивлен, была ли это ошибка в gvim - или возможно в gtk, но если программа не работает вообще, я проигнорировал бы его.
Процесс зомби / более не существующий процесс обычно происходят, когда дочерний процесс выходит перед родительским запуском, слушая его. Ребенок "слоняется поблизости", потому что не было никакой программы вокруг для получения, это - статус выхода, даже при том, что это сделало завершенный удовлетворительный - следовательно это становится зомби. Другая причина Вы получаете зомби, может быть, когда большое дерево процесса прибывает, падая - возможно, потому что кто-то попытался уничтожить один или несколько процессов в дереве.
Зомби является действительно путем к ОС для хранения статуса выхода и другой информации о процессе, который не завершался вполне правильно вокруг, в случае, если кому-либо интересно. Кроме записи в таблице процессов, зомби не поднимает ресурсов (т.е. никакой памяти или CPU).
По моему скромному мнению, Википедия является неправильной - или по крайней мере легкой неправильно понять - когда она утверждает, что не пожинавшие зомби имеют в виду ошибку с ОС, если они задерживаются после основного процесса она была порождена выходами. Весьма обычно, что зомби выживает, это - родители, в этом случае это принято init
(PID 1). init
может в конечном счете пожинать его, но некоторые зомби - даже принятые init - могут остаться до перезагрузки. Пока у Вас нет такого количества зомби, что они заполнение таблица процессов, они - едва любая проблема.
Конечно, зомби действительно часто показывают, что что-то неправильно - что программа порождает ребенка, который умирает, прежде чем родитель ожидает - но это не должна быть ОС, которая является проблемой. Это, конечно, могут быть компоненты ОС, которые вызывают его хотя - например, отсутствие или malconfigured звуковой сервер, причины дочерние процессы, которые, как предполагают, обработали звук для программы для выхода сразу, таким образом слоняясь поблизости как зомби.
И это тоже работает:
echo '(2.1+2.1)/2' | bc -l
Ah, но вы пытались:
echo '(2.1+2.1)/2' | tr -d '\n' | bc -l
(standard_in) 1: syntax error
Использование echo -n
выполнит то же самое - нет прерывания новой строки, и это ваша проблема.
bc
имеет довольно специфический синтаксис. dc
менее разборчив:
find . -type f -exec entropy \{\} + |
sed 's/.*://;N;N;s/\n[^:]*:/+/g;s/+//;s|$| 3/p|' |
dc
Я думаю, что он делает то, что вы пытаетесь сделать, но я не совсем уверен. Выходной сэмпл больше одной строки помог бы.