我有一个任务,它一启动就永远运行。因此,我希望在将其输入“crontab -e”文件并保存后(或)每次重启时仅启动一次。
如何实现这一点?
答案1
如果你想要运行一个命令一次稍后使用该at
命令。
如果你想运行一个命令一次在系统启动时,正确的解决方案是使用:
- 系统 RC 脚本(/etc/rc.local)
- 带有特殊前缀的 crontab
@reboot
(请参阅手册页)
对于非 root 用户来说,后者是唯一的选择。
答案2
您可以使用 at(1) 在将来的某个时间点运行某个作业。但是,如果您想在启动时运行某个作业,并且该作业会自行运行,也许您需要在 /etc/init.d/ 中为其添加一个条目?这样您就可以在启动时启动它。
答案3
只运行一次并一直运行直到您命令其停止的作业称为“守护进程”。它们通常通过 /etc/init.d/ 中的 init 脚本启动。
如果您的工作在某个时间点结束并且可以被视为一次性工作,那么您可能需要查看 at 命令。例如,如果我想在今晚 10 点运行 find 命令,并且只运行一次,我会这样做:
$ at 10PM
at> find /root > /root/find_results.list
at> <EOT>
job 3 at 2010-02-10 22:00
答案4
看看 at 命令