当父 Bash shell 脚本被终止时停止执行 python 脚本

jrd*_*oko 5 python bash shell

我正在开发一个 Bash shell 脚本,它运行多个 Python 脚本,如下所示:

cd ${SCRIPT_PATH}
python -u ${SCRIPT_NAME} ${SCRIPT_ARGS} >> $JOBLOG 2>&1
Run Code Online (Sandbox Code Playgroud)

有一次,我终止了 shell 脚本(使用kill PID),但 Python 脚本继续运行,即使在脚本终止后也是如此。我以为一旦主脚本死了这些就会死。我对 Bash 脚本有什么误解?我该怎么做才能获得我正在寻找的功能?提前致谢!

Jür*_*zel 3

您需要安装一个信号处理程序来处理您的子进程:

trap "echo killing childs; pkill -P $$"  EXIT
Run Code Online (Sandbox Code Playgroud)