Как цикл while ожидает процесса - PullRequest
0 голосов
/ 01 июня 2018

Со ссылкой на дождаться двух PID в c-shell

В

while ( `ps -p "$pid1,$pid2" | wc -l` > 1 )
  sleep 1
end

что делает выражение ps -p "$pid1,$pid2" | wc -l > 1?

1 Ответ

0 голосов
/ 01 июня 2018

Он просто проверяет, существуют ли какие-либо процессы, соответствующие хотя бы одному из заданных pid1 или pid2.

. Просто проведите свою собственную быструю проверку с PID 1 и 2:

  $ ps -p "1,2" # Show all processes with PID=1 and PID=2
  PID TTY          TIME CMD
    1 ?        00:00:57 systemd
    2 ?        00:00:00 kthreadd

Вывод состоит из трех строк, так как конвейер до wc -l также скажет вам.Поэтому, если у вас больше строки (заголовок всегда есть), ваш цикл будет выполняться.

...