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


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

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

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

  • 相关阅读:
    local_irq_disable和disable_irq的区别
    linux内核IDR机制详解【转】
    飞秋2013设置后无法保存配置问题
    windows 格式化D盘
    query 中 radio选中小技巧
    磁盘碎片整理
    服务器如何选择备案产品类型?
    虚拟主机需要备案吗?
    操作系统自带的截图工具无法保存问题
    CA210彩分仪校准步骤
  • 原文地址:https://www.cnblogs.com/pluse/p/13027702.html
Copyright © 2020-2023  润新知