我正在从名为start.sh
. Bash 脚本启动 Java 代码,然后 Java 代码运行。在 Java 程序结束时,我想向 Bash 脚本发送一个信号以终止。请记住,Bash 脚本以 PID = 1 运行。我必须终止 PID 1 进程。
我设置了 bash 脚本,使其在无限循环中运行并waits
用于终止信号:
#!/bin/bash
# Run the java code here..
# Listen for an exit command.
trap 'exit 0' SIGTERM
while true; do :; done
我正在使用 Docker 实例,信号是sigterm
. 我正在关注本教程:https : //www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/ 它解释了如何从命令行发送 sigterm。我想自动化这个过程,并在 Java 程序结束后立即从内部关闭/杀死 docker 实例。
如何将信号发送回最初启动 Java 代码的 bash 脚本?
我应该按照 这种方法将信号作为参数发送到 bash 脚本吗?或者它会启动另一个具有不同 PID(不是 1)的 bash 脚本。
需要帮助!