我想在 Ubuntu Server 启动时运行一个命令。有人知道怎么做吗?/etc/rc.local 是否以超级用户身份运行?任何帮助都将不胜感激。谢谢!
答案1
/etc/rc.local 将以 root 身份运行。
大多数 init 进程以 root 身份运行,或以此方式启动。
答案2
有几个地方你可以这样做:
/etc/init.d(然后链接到 /etc/rc[runlevel].d - 通常是 2)工作得很好 - 因此您可以在其中指定启动和关闭位。
这是一种老方法(虽然非常简单)。你也可以用 upstart 来做某事。看看这一页(查看“写作工作”部分)。
最大的问题 - 路径通常不是您所期望的那样。因此,我建议首先从任何脚本中运行类似“echo $PATH > /init_path”的命令,以查看是否存在问题(检查 /init_path 并查看其中的内容……删除此文件绝对安全)。虽然在脚本中指定路径很容易,但值得相应地设置 PATH 变量,因为从任何脚本运行的任何内容也可能需要 PATH 中的内容。