【发布时间】:2012-08-17 11:56:55
【问题描述】:
目前看来nohup和没有什么区别,但或许有细微之处?
【问题讨论】:
标签: linux scheduling nohup at-job
目前看来nohup和没有什么区别,但或许有细微之处?
【问题讨论】:
标签: linux scheduling nohup at-job
不同之处在于now 运行的命令可以响应HUP 信号,而nohup 运行的命令不受HUP 信号的影响。
【讨论】:
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 启动的作业那么直接。
【讨论】:
at 创建的脚本(int /var/spool/at )来测试这一点。但是+1 是关于控制终端的注释
/var/at/job/。谢谢,我已经相应地更新了我的答案。
nohup 告诉系统即使在您注销后仍继续运行。 at 用于在未来某个时间执行一个或多个命令。
【讨论】: