Используя PS и часы для наблюдения родительского и дочернего процесса

У Вас на самом деле уже есть подсказка, Вы просто не видите его, потому что это прокручивается от экрана.

Самой простой вещью ввести является, вероятно, Ctrl-C (для уничтожения любой частичной строки, которую Вы ввели при подсказке), fg, войдите, Ctrl-Z, который возвратит его переднему плану затем, приостанавливает его снова. Простой хорошо в этом случае, поскольку Вы делаете его вслепую.

Может потребоваться несколько секунд для работы, поскольку терминал изо всех сил пытается не отставать от вывода.

Вы видите ясно, что это делает при помощи команды, которая медленно извергает к терминалу (обратите внимание, что мой PS1 включает $? когда ненулевой):

anthony@Zia:~$ perl -E 'say "ha" while sleep(1)'
ha
ha
^Z
[1]+  Stopped                 perl -E 'say "ha" while sleep(1)'
anthony@Zia:~ [$?=148]$ bg %1
[1]+ perl -E 'say "ha" while sleep(1)' &
ha
anthony@Zia:~$ ha
ha
ha
ha
ha
^C
anthony@Zia:~ [$?=130]$ ha
fha
g
perl -E 'say "ha" while sleep(1)'
ha
^Z
[1]+  Stopped                 perl -E 'say "ha" while sleep(1)'
anthony@Zia:~ [$?=148]$ 

На данном этапе Вам остановили его снова и можете сделать то, что Вы хотели бы с ним.

2
05.04.2015, 21:13
1 ответ

Если PID являются E.g. 340 и 520, тогда вы можете попробовать следующее:

$ watch --interval 2 --difference "ps -p 340,520 -o pid,ppid,%cpu,cputime"

здесь Часы будут отмечать разницу выходов, работающих с интервалом на 2 секунды, здесь мы использовали форматирование вывода -O опция Чтобы получить только идентификатор процесса (PID), родительский идентификатор процесса (PPID), процент использования утилизации CPU (% CPU) и времени процессора (CPERSIME).

Проверить MAN PS для более PS Параметры форматирования вывода.

3
27.01.2020, 22:05

Теги

Похожие вопросы