【问题标题】:Difference between nohup vs at nownohup 与现在的区别
【发布时间】:2012-08-17 11:56:55
【问题描述】:

目前看来nohup没有什么区别,但或许有细微之处?

【问题讨论】:

    标签: linux scheduling nohup at-job


    【解决方案1】:

    不同之处在于now 运行的命令可以响应HUP 信号,而nohup 运行的命令不受HUP 信号的影响。

    【讨论】:

      【解决方案2】:

      Ed Heal 是对的。但另一个区别是nohup 运行的东西仍然有一个控制终端,而at now 运行的东西没有。

      除此之外,使用nohup 将某些内容作为后台会使其立即运行,而at now 只是将某些内容排队等待下次atrun(8) 运行时运行。在 BSD unix 中,(FreeBSD/OpenBSD) at 作业由atrun 启动,cron 定期启动(或在 OSX 中为launchd)。在 Linux 中,at 作业由 at 自己的守护进程 atd 运行,默认情况下它每 60 秒启动一次作业。

      其他风格的 unix 可能有不同的策略,但在大多数情况下,您可能会发现 at now 启动的作业不如使用 nohup 启动的作业那么直接。

      【讨论】:

      • 您对环境变量的看法不正确。请查看linux.die.net/man/1/at(您可以通过查看at 创建的脚本(int /var/spool/at )来测试这一点。但是+1 是关于控制终端的注释
      • 嗯,你说的是环境。不过不确定您的平台是什么——在 FreeBSD 上,工作位于/var/at/job/。谢谢,我已经相应地更新了我的答案。
      • 欢迎您。度过一个愉快的周末。这也是要知道的,你可以检查一下。
      • 这些差异的可能后果是什么,即对 SIGHUP 免疫并拥有控制终端?
      【解决方案3】:

      nohup 告诉系统即使在您注销后仍继续运行。 at 用于在未来某个时间执行一个或多个命令。

      【讨论】:

        猜你喜欢
        • 2013-03-13
        • 2016-12-11
        • 1970-01-01
        • 2023-01-02
        • 1970-01-01
        • 1970-01-01
        • 2010-10-31
        • 2012-03-07
        • 1970-01-01
        相关资源
        最近更新 更多