마스터 스크립트에 의해 호출되는 모든 스크립트를 (재귀적으로) 나열하고 싶습니다. 예를 들어:
master.sh
a.sh >> this script calls a1.sh, a2.sh, a3.sh etc
b.sh >> this one calls b1.sh, b2.sh, something.sh, etc.sh..
c.sh > similarly.
이는 스크립트의 트리 명령과 같습니다.
출력은 다음과 같을 수 있습니다.
master.sh
-a.sh
|- a1.sh
|-something.sh
|-something_else.sh
-a2.sh
|-x.sh
|-y.sh
-a3.sh
...
답변1
이를 수행하는 가장 좋은 방법은 입니다 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, 프로세스 상태 등과 같은 다양한 정보도 제공합니다.