Ответы:
Под Linux вы можете сделать:
htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
где $PID
находится корневой процесс. Это работает следующим образом:
pstree
помощью -p
опции, чтобы перечислить их с их PID.\((\d+)\)
) и выводит их через запятую.htop -p
.Для других ОС, таких как Mac OS, вам может потребоваться адаптировать регулярное выражение, которое получает PID.
Примечание: к сожалению, невозможно обновить список новыми дочерними элементами, которые появляются позже, потому что, как только htop
он был выполнен, никто больше не может делать ничего. Это ограничение htop
(текущая версия: 2.0.2).
$PID
должен быть pid, но вы можете получить идентификатор из названия процесса с помощью pgrep
.
pstree
от homebrew:htop -p `pstree -p $PID | perl -ne 'push @t, /--- (\d+) /g; END { print join ",", @t }'`
htop -p $(ps -ef | awk -v proc=15305 '$3 == proc { cnt++;if (cnt == 1) { printf "%s",$2 } else { printf ",%s",$2 } }')
Используйте awk, чтобы создать разделенный запятыми список идентификаторов процессов из выходных данных ps -ef, передав идентификатор родительского процесса как proc, а затем передав его в htop -p.
$PID
может быть именем процесса или идентификатором?