Лучший способ сделать это - pstree
. В нем будут перечислены все запущенные процессы в хорошем древовидном формате. Вы можете использовать опцию -H
чтобы выделить конкретную команду (заданную как PID). В приведенном ниже примере я использую pgrep
для получения PID master.sh
:
pstree -H `pgrep master.sh` |grep -A 2 master.sh
|-bash---master.sh-+-a1.sh---something.sh
| |-a2.sh
| |-a3.sh
Команда ps
также может делать то, что вам нужно, команда ps
может делать все, кроме приготовления хорошего кофе:
ps xjf
Это перечислит все процессы, запущенные master.sh
(фактически, он перечислит все процессы, включая запущенные master.sh
) в древовидном формате:
\_ master.sh
| \_ a1.sh
| \_ something.sh
| \_ something.sh
| \_ a2.sh
| \_ a3.sh
Здесь я только показываю соответствующий вывод, приведенная выше команда также предоставит вам другую информацию, такую как PID, статус процесса и т.д. И т.д.