我有一个程序需要在启动时运行一个命令(该命令需要以 root 身份运行)。我知道有很多方法,但是跨 Linux 发行版最通用的方法是什么。顺便说一下,该命令作为服务/守护进程/等保持运行直到关闭。谢谢
答案1
使用 systemd,它是大多数 Linux 发行版的标准
答案2
“通用”方式,程序不需要另一个程序来执行自身。
创建一个脚本并将其放置到/etc/init.d
.当系统启动时,init.d
您所拥有的任何内容都将直接在其中执行。
或者,如果您不想直接放置一个程序或包含多个其他依赖项的程序,则可以创建符号链接。
例如
echo "echo 'Hello world!'" | tee -a /opt/myscript
# Now create a soft symbolic link
ln -s /opt/myscript /etc/init.d
确保以 root 用户身份使用这些命令(sudo、doas),并确保您链接或放置的脚本或程序/etc/init.d
具有“执行”权限。