在bash腳本中,我想在前臺啓動一個進程,然後打印所有進程名稱和PID作爲該進程的子進程啓動的列表。例如,假設我有以下的腳本,但我只能修改第一個:Bash:一個命令的所有子進程的PID
A.sh:
#!/bin/bash
B.sh
B.sh:
#!/bin/bash
C.sh
C.sh:
#!/bin/bash
echo "Running C.sh"
不修改B.sh,C.sh或echo命令,並且不在後臺啓動任何子進程,我想A.sh打印以下:
B.sh 1208
C.sh 1210
echo 1211
能A.sh叉,而子進程中A.sh的前臺運行,記錄這個信息的過程?
正如我在問題中提到的,我不想在後臺啓動任何進程。 &運算符在後臺啓動一個進程。有沒有辦法在即將在前臺運行的命令上使用'pstree'? –
應該怎麼辦?只能有一個前臺進程。但是在後臺啓動這個過程有什麼問題?在我的答案中添加了'wait'命令。這基本上適合你。除了一點,你如何確保這個過程在你問的那一刻已經開始了呢? – hek2mgl
分叉只會給我B.sh的PID。即使我在B.sh跑的時候不斷地調查'pstree',我仍然可能會想念一些孩子。我需要一些觀察在一段時間內創建所有子進程的東西。鑑於此,篩選隔離我的子樹並不困難。 –