我发现了很多方法可以在bash终端关闭后保持进程在后台运行。但是,我该怎么做呢?关闭终端后如何杀死后台进程?
[当前,当我关闭终端时,我收到“进程正在会话中运行...仍然关闭吗?”如果我按OK,终端将关闭,但进程不会被终止并徘徊。我可以将对这些进程的抑制与终端进程的“死亡”挂钩吗?
简单示例:运行ssh-agent bash
,然后尝试关闭终端。
将其放入您的.bashrc
:
trap 'kill $(ps -o pid= --ppid $$ 2>/dev/null)' exit
退出时,它将杀死外壳程序的所有子进程。