首页 > 系统服务 > 详细

关于Linux中后台运行程序(&)退出时收不到SIGHUP信号的说明

时间:2020-06-01 22:52:12      阅读:48      评论:0      收藏:0      [点我收藏+]

你可能在很多地方看到过类似这样的话:

“但是我们很多程序并不像mysqld一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用&结尾,但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup这个命令”

很多博客和文章都是上面那样的陈述,包括鸟哥的Linux私房菜也在第17章脱机管理问题中如是说。事实真的是这样么?从我开始使用linux系统一直到目前为止,我每次在本地终端或者ssh到远程服务器上之后,直接 xxxx &,在后台启动一个程序后,里面使用exit命令退出(或者按ctrl+D快捷键退出),过一段时间再次打开终端或者ssh到远程服务器上之后,用ps查看进程状态,发现之前后台运行的程序依然稳定的在系统中支持运行。不相信的读者可以自行测试。为什么实际情况和上面的论断相悖?实际上,上面陈述是对的,但是现实是复杂的,就像Linux有很多发行版一样,linux的终端或者伪终端也是由各个厂商或者组织实现的。在终端中有个内置的命令叫做: shopt,该命令定义了很多终端的默认行为。待续.....

关于Linux中后台运行程序(&)退出时收不到SIGHUP信号的说明

原文:https://www.cnblogs.com/pluse/p/13027702.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!