据我所知,这些书和bash手册就是这样。当用户从bash注销时,如果用户不使用nohup或disown,用户启动的所有后台作业都将自动终止。但是今天我测试了它:注销时bash如何处理作业?
- 登录到我的gnome桌面并访问了gnome-terminal。
有终端两个选项卡和一个我创建了一个新的用户名为测试,并记录在作为测试
su - test
启动的脚本。
cat test.sh #!/bin/bash sleep 60 printf "hello world!!" exit 0 ./test.sh &
之后,我注销测试和关闭的选项卡
- 在接下来的标签我exected的ps aux为根,发现作业仍在运行。
这是怎么发生的?
我注意到这个问题,目前还没有一个公认的答案,并且有上[苏]类似的新问题,这可能是有趣的阅读:HTTP:// superuser.com/questions/662431/what-exactly-determines-if-a-backgrounded-job-is-killed-when-the-shell-is-exited](http://superuser.com/questions/662431/what - 完全确定 - 如果一个后台工作被杀 - 当这个shell被退出) – Hennes 2013-10-21 16:13:05