一千萬個為什麽

搜索

當父Bash shell腳本被終止時停止執行python腳本

我正在研究一個運行幾個Python腳本的Bash shell腳本,如下所示:

cd ${SCRIPT_PATH}
python -u ${SCRIPT_NAME} ${SCRIPT_ARGS} >> $JOBLOG 2>&1

有一次,我殺死了shell腳本(使用 kill PID ),但Python腳本繼續運行,即使在腳本終止後也是如此。我認為一旦主劇本死亡,這些就會死去。我對Bash腳本的誤解是什麽,我該怎麽做才能獲得我正在尋找的功能?提前致謝!

最佳答案

您需要安裝一個信號處理程序來照顧您的子進程:

trap "echo killing childs; pkill -P $$"  EXIT

轉載註明原文: 當父Bash shell腳本被終止時停止執行python腳本