看起来nohup和at now之间没有区别,但也许还是有些微妙的差别吗?
区别在于now
运行可以响应HUP
信号的命令,而nohup
运行免疫于HUP
信号的命令。
Ed Heal说得没错。但另一个区别是,通过nohup
运行的程序仍然有一个控制终端,而通过at now
运行的程序没有。
除此之外,使用nohup
将某个程序放入后台可以立即运行,而at now
只是将程序排队等待下一次运行atrun(8)
。在BSD unix(FreeBSD/OpenBSD)中,使用atrun
启动了at作业,该作业由(或OSX中的launchd
)定期启动。在Linux中,at作业由它自己的守护进程atd
运行,默认情况下每60秒启动一次。
其他版本的unix可能有不同的策略,但在大多数情况下,你会发现使用at now
启动的作业不如使用nohup
启动的作业立即执行。
nohup 命令告诉系统在您退出后继续运行。 at 命令用于在将来的某个时间执行一个或多个命令。
/var/at/job/
中。谢谢,我已经相应地更新了我的答案。 - ghoti