当 PID == 1 时,Ctrl-C 上的 EXIT 陷阱将被忽略

当 PID == 1 时,Ctrl-C 上的 EXIT 陷阱将被忽略

a.sh

trap 'echo cleanup' EXIT
sleep 3

要重现,请Ctrl-C在脚本完成之前按:

$ docker run --rm -itv $PWD:/app -w /app alpine:3.14 sh a.sh
^Ccleanup

$ docker run --rm -itv $PWD:/app -w /app alpine:3.14 sh
/app # sh a.sh
^C

你能解释一下吗?

相关内容