我有一份工作,从一开始就永远存在。因此,我只想在将其输入“ crontab -e”文件并将其保存(或)后每当发生重新启动后才启动一次。
如何实现呢?
我有一份工作,从一开始就永远存在。因此,我只想在将其输入“ crontab -e”文件并将其保存(或)后每当发生重新启动后才启动一次。
如何实现呢?
Answers:
如果希望命令以后再运行一次,请使用该at
命令。
如果希望命令在系统引导时运行一次,则正确的解决方案是使用以下任一方法:
@reboot
特殊前缀的crontab (请参见手册页)对于非root用户,后者是唯一的选择。
at now
@reboot
。
您可以在将来的某个时间使用at(1)来运行作业。但是,如果您想在引导时运行某些东西,而它会自己继续运行,也许您想在/etc/init.d/中添加一个条目?这样一来,您就可以在启动时启动它。
kill
(假设您具有这样做的权限,您可以针对自己的进程进行操作)。制作一个初始化脚本真的很容易。寻找/etc/init.d/
一个不会很长的脚本,然后用它来建模,或者用google搜索making init scripts (your distribution)
。
/etc/init.d/skeleton
在openSuSE上),您可以适应自己的使用。
只能运行一次并一直运行直到您将其终止的工作称为“守护程序”。它们通常是通过/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
看一下at命令