Wu *_*eng 14 cron not-root-user services
作为非 root 用户,我想在系统启动时运行后台作业。这是一种不需要root权限的服务。有没有办法做到这一点?
一种方法是把sudo -u user command
在rc.local
,但编辑rc.local
需要root权限。
另一种方法是cron
每分钟启动它并检查任何正在运行的实例,但首先它会不必要地唤醒系统,其次,在检查运行实例时可能存在竞争条件。
第三种方法是在 中运行它~/.bash_profile
,但我想在没有用户登录的情况下启动它。
Mar*_*rco 18
如果您的版本具有该@reboot
功能,则可以使用 cron 。来自man 5 crontab:
可能会出现八个特殊字符串之一,而不是前五个字段:
Run Code Online (Sandbox Code Playgroud)string meaning ------ ------- @reboot Run once, at startup. …
您可以在crontab -e
没有 root 权限的情况下使用该命令编辑用户本地 crontab 。然后添加以下行:
@reboot /usr/local/bin/some-command
Run Code Online (Sandbox Code Playgroud)
现在您的命令将在启动时运行一次。