在启动时开始 root 进程?

在启动时开始 root 进程?

我想在 Linux 安装启动时以 root 身份启动后台进程。我可以将其添加到目录或配置文件中吗?

答案1

基本上你有两个选择:

  1. 使用cron具有@reboot时间规范的作业(crontab(1)有关详细信息,请参阅手册页)

  2. 由init系统启动它。对于 BSD/SysV 初始化样式,这意味着在某处添加一个脚本以在所需的运行级别中运行。对于 systemd,这涉及创建一个单元文件并由所需的目标需要它。

第一个解决方案更适合一台或两台机器的本地事物(因为它们更多的是配置事物);第二个适用于可能在更多系统上运行的服务/守护程序之类的东西 - 并且实际上应该打包以使维护更容易。

答案2

在启动时以 root 身份运行进程的最简单方法是从 启动它/etc/rc.local。编辑该文件并添加一行,例如

/path/to/my/daemon &

然而,这并不是启动守护进程的好方法。您没有方便的方法来控制它(检查它是否正在运行、停止它、重新启动它等)。

有几个框架可以控制守护进程。它们与您的 init 系统紧密相关:Sysvinit、Upstart、Systemd 各有各的方式。检查系统上安装的内容(不同的 UNIX 变体有所不同,对于 Linux,它因发行版和管理员选择而异)。

相关内容