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

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

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

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

  • 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 
  • Как заставить команду ps показать память в mb вместо kb?
  • ps переключает для отображения PID, PPID, PGID и SID в совокупности
  • Можно ли получить столбец PWD в верхнем выпуске?
  • Подавить предупреждение от ps -aux на Linux
  • Как получить целую командную строку из процесса?
  • Команда ps не найдена в CentOS
  • команда ps не дает вывод в домашнем каталоге
  • Получение переходного PID из входа в поиск PS до его смерти
  • ps пользовательский выход в RHEL 6.2
  • Список, подключенный через пользователей SSH
  • Предел HP-UX SZ для ps?
  • WCHAN = 0 для спящей задачи?
  • Interesting Posts

    В FUSE, как мне получить информацию о пользователе и процессе, который пытается прочитать / записать в виртуальной файловой системе?

    Не удается восстановить зашифрованные файлы на Ubuntu

    Сила systemd для проверки состояния службы через n секунд

    Yum говорит, что пакет установлен и не установлен, и он блокирует установку других пакетов

    wine – Могу ли я заставить SWTOR использовать обратную косую черту и AltGr в keybinds?

    Как автоматизировать настройку сервера Linux?

    ssh-copy-id: почему мой открытый ключ отличается от моего локального или удаленного?

    Есть ли команда, чтобы увидеть, где установлен диск?

    Является ли настройка более высокого уровня для процесса эффективным способом снижения его влияния на загрузку системы / процессорное время?

    Есть ли способ добавить некоторую информацию о времени / дате в приглашение TTY?

    Нажимать одну и ту же конфигурацию веб-сервера на несколько передних концов

    Лучшая практика для настройки формата даты и времени в масштабах всей системы?

    Как изменить положение пусковой установки единства в Ubuntu?

    Где определяются группы yum?

    Создание команд с переменным расширением в цикле

    Linux и Unix - лучшая ОС в мире.