Подсчитайте общее количество подпроцессов (рекурсивно), порожденных командой

Как найти общее количество дочерних процессов (рекурсивно), порожденных скриптом?

Для целей профилирования иногда важно подсчитать сгенерированные подпроцессы команды, скрипта и т. Д.

Что я пробовал?

  • ps основанные решения, но он просто представляет текущие текущие процессы.
  • используя следующий номер pid (это мое лучшее решение)

пример:

 ps | awk '/ ps$/{print $1}' 27159 $ for a in {1..100} ; do date > /dev/null; done ## 100 processes $ ps | awk '/ ps$/{print $1-2}' 27259 

(27259-27159 = 100), но следующий номер pid сбрасывается и страдает от вмешательства других задач.

One Solution collect form web for “Подсчитайте общее количество подпроцессов (рекурсивно), порожденных командой”

 > strace -c -f -e trace=fork,vfork,clone,execve,execl bash -c 'ls -ld /etc;sleep 1' Process 15683 attached drwxr-xr-x 1 root root 5540 10. Jan 02:08 /etc Process 15684 attached % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 0.00 0.000000 0 2 clone 0.00 0.000000 0 3 execve ------ ----------- ----------- --------- --------- ---------------- 100.00 0.000000 5 total > strace -c -f -e trace=fork,clone,execve bash -c '(foo=bar;ls -ld /etc);sleep 1' Process 15730 attached Process 15731 attached drwxr-xr-x 1 root root 5540 10. Jan 02:08 /etc Process 15732 attached % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 0.00 0.000000 0 3 clone 0.00 0.000000 0 3 execve ------ ----------- ----------- --------- --------- ---------------- 100.00 0.000000 6 total 
  • Как получить начальное время для несуществующего процесса в AIX?
  • Можно ли получить столбец PWD в верхнем выпуске?
  • Выясните PID точного приложения node.js
  • ps aux: zero VSZ
  • Может кто-нибудь объяснить это странное поведение ПП?
  • ps широкий выход для одного процесса
  • Различное представление bash в команде «ps -f»
  • Как убедиться, что встроенное эхо-сообщение оболочки вызвано так, что оно не отображается в списке процессов?
  • Какие процессы используются DRM?
  • В чем разница в использовании процессора между «ps aux» и «ps -ef»?
  • Один экземпляр скрипта, но только с одинаковыми аргументами
  • Linux и Unix - лучшая ОС в мире.