簡體   English   中英

有沒有辦法將shell腳本作為一個整體任務運行(使用單個PID)?

[英]Is there a way to run a shell script as one whole task(with single PID)?

我有一個名為run.sh的shell腳本。 在其中,我可以調用其他shell腳本,如:

./run_1.sh
./run_2.sh
.........

如果我通過./run.sh調用腳本,我發現實際上它將使用不同的PID順序調用腳本內的不同任務(即run_1.sh將是一個任務而run_2.sh將是另一個任務)。 這使我無法使用一個“kill”命令終止整組任務,或者通過運行“./run.sh&”在后台運行整組任務。 那么有沒有辦法像整個任務一樣運行腳本?

  • pkill可以用於使用-P選項來殺死進程的子進程。

     pkill -P $PID 

    其中$ PID是父進程的PID。

  • 您可以sourcerun_1.sh ,使其在同一個外殼(這可能引起副作用,因為現在所有的腳本將共享相同的范圍內)執行的命令。

     source run_1.sh source run_2.sh 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM