我最裏面有我的所有命令 喜歡這個基於
L4.ksh # topmost wrapper
L3.ksh
L2.ksh
Nohup command > log 2>&1& # label that c1
Nohup command > log 2>&1& # c2
wait # w1
Nohup command > log 2>&1& # c3
L2_1.ksh
Nohup command > log 2>&1& # label that c4
Nohup command > log 2>&1& # c5
wait # w2
Nohup command > log 2>&1& # c6
什麼,我想要做的包裝內運行的包裝條件傳遞返回碼父shell是C6,C3的捕獲退出狀態。當然我會堅持rc = $?在它下面。剛剛做到了。 接下來我希望當所有的命令L2在那個時間過後看看C3的狀態,它是L2中的最後一個nohup,並且L2的退出代碼應該是C3在L2中的所有事件完成後的狀態。注意這些C1 C2等都是並行運行的。 當L2完成時,我將僅在L2完成完成後才執行L2_1,也就是完成所有進程(因此C3可能已完成,並且C1 C2仍在運行中,但所有C應完成的都是要求條件) 最後,如果L2和L2_1的狀態碼均爲0,則L3應返回0,否則l3應返回非零狀態碼。
如果我把捕獲$?在L2系列(C3和C6),然後把等待,然後退出$ RC
C3
rc=$?
wait
exit $rc
的L2和L2_1兩個,然後L3-的狀態代碼將服務於目的做了有條件開關的最後一個命令?或如何做到最好 ty sam
感謝Dogbane爲您的回覆捕獲個人PID的答覆。問題是我不知道有多少炮彈被擊中。 L2.ksh是一個運行時生成的shell,其中包含命令 ,所以問題是如何收集所有的PID。我必須啓動一些計數器?跟蹤。 當所有後臺任務在shell中完成其工作並且然後標記最後一個後臺任務的退出狀態時,找不到狀態的更好方法嗎?
您好感謝您的答覆。我更新了一個關於該問題的提問,而不是將它放在評論中,但它並不突出,而且很難閱讀。 – user1874594