如何让非root用户自动启动后台程序?

如何让非root用户自动启动后台程序?

作为非 root 用户,我想在系统启动时运行后台作业。这是一种不需要 root 权限的服务。有办法做到吗?

一种方法是输入sudo -u user commandrc.local但编辑rc.local需要 root 权限。

另一种方法是每分钟启动它cron并检查是否有任何正在运行的实例,但首先它会不必要地唤醒系统,其次,在检查正在运行的实例时可能会存在竞争条件。

第三种方法是在 中运行它~/.bash_profile,但我想在没有用户登录的情况下启动它。

答案1

如果您的版本有此功能,您可以使用 cron @reboot。从人5 crontab:

可能会出现八个特殊字符串之一,而不是前五个字段:

  string         meaning
  ------         -------
  @reboot        Run once, at startup.

您可以使用该命令编辑用户本地 crontab,crontab -e无需 root 权限。然后添加以下行:

@reboot /usr/local/bin/some-command

现在您的命令将在启动时运行一次。

相关内容