Вы должны знать, как печатать, чтобы быть программистом.
Это спорный среди людей, которые не знают, как ввести, но кто настаивают на том, что они могут два пальца охоты-и-клюют так же быстро, как и любой машинистки, или что они на самом деле не нужно тратить много времени на ввод или что Intellisense избавляет от необходимости печатать ...
Я никогда не встречал никого, кто знает , как печатать, но настаивает, что это не имеет значения.
Нет встроенной функции ожидания завершения какого-либо процесса.
Вы можете отправить kill -0
на любой найденный PID, чтобы вас не сбивали с толку зомби и тому подобное. по-прежнему будет отображаться в ps
(при извлечении списка PID с помощью ps
).
Нет встроенного. Используйте kill -0
в цикле, чтобы получить работоспособное решение:
anywait(){
for pid in "$@"; do
while kill -0 "$pid"; do
sleep 0.5
done
done
}
Или как более простую строку для простого одноразового использования:
while kill -0 PIDS 2> /dev/null; do sleep 1; done;
Как отметили несколько комментаторов, если вы хотите дождаться процессов, которые вы не имеете права посылать сигналы, вы нашли другой способ определить, запущен ли процесс, чтобы заменить вызов kill -0 $ pid
. В Linux работает test -d "/ proc / $ pid"
, в других системах вам, возможно, придется использовать pgrep
(если доступно) или что-то вроде ps | grep "^ $ pid"
.