相关疑难解决方法(0)

向进程组的所有成员发送信号的最佳方法是什么?

我想杀死整个进程树.使用任何常用脚本语言执行此操作的最佳方法是什么?我正在寻找一个简单的解决方案.

linux shell signals process

409
推荐指数
16
解决办法
37万
查看次数

Docker bash shell 脚本无法捕获 SIGINT 或 SIGTERM

我的目录中有以下两个文件:

Dockerfile

FROM debian

WORKDIR /app
COPY start.sh /app/

CMD ["/app/start.sh"]
Run Code Online (Sandbox Code Playgroud)

start.sh(使用权限 755 chmod +x start.sh

FROM debian

WORKDIR /app
COPY start.sh /app/

CMD ["/app/start.sh"]
Run Code Online (Sandbox Code Playgroud)

然后我运行以下命令:

$ docker build . -t tmp
$ docker run --name tmp tmp
Run Code Online (Sandbox Code Playgroud)

然后我期望按 Ctrl+C 会向程序发送 SIGINT,该程序会将 SIGINT 打印到屏幕然后退出,但这并没有发生。

我还尝试运行$ docker stop tmp,我希望它会向程序发送一个 SIGTERM ,但$ docker logs tmp之后检查显示 SIGTERM 未被捕获。

为什么 bash 脚本没有捕获 SIGINT 和 SIGTERM?

bash shell sigint sigterm docker

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

shell ×2

bash ×1

docker ×1

linux ×1

process ×1

sigint ×1

signals ×1

sigterm ×1