Как найти CPU и использование памяти дочерних процессов

Аргумент - то, что выяснение, где данный двоичный файл должен быть (/или/usr) является бесполезной сложностью, которая не служит никакой цели. Системы уже не смогли загрузиться без/usr в течение некоторого времени теперь, таким образом, больше нет причины сохранить два каталога.

Дополнительную информацию см. в http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge.

8
01.08.2014, 16:13
3 ответа

код

pgrep -P $(pgrep supervisord) | xargs ps -o %mem,%cpu,cmd -p | awk '{memory+=$1;cpu+=$2} END {print memory,cpu}'

получит только один дочерний уровень

, если вы хотите найти все процессы, производные от основного pid, используйте это code ..

ps -o pid,ppid,pgid,comm,%cpu,%mem  -u {user name} | {grep PID_PRINCIPAL}

Идентификатор основного процесса - это PGID дочерних процессов.

4
27.01.2020, 20:12

Попробуйте использовать xargs :

pgrep -P $(pgrep supervisord) | xargs ps -o %mem,%cpu,cmd -p | awk '{memory+=$1;cpu+=$2} END {print memory,cpu}'
-1
27.01.2020, 20:12

дано PID ,

pid=24535
pstree -p $pid | grep -o '([0-9]\+)' | grep -o '[0-9]\+' |\
  xargs ps -o %mem,%cpu,cmd -p | awk '{memory+=$1;cpu+=$2} END {print memory,cpu}'
# 15.5 905.2

Мне не повезло получать PID всех дочерних процессов из PGREP.

4
27.01.2020, 20:12

Теги

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