文件夹路径:root/CumulusServer
执行命令:./CumulusServer --daemon [--pidfile=/var/run/CumulusServer.pid]
我花了相当多的时间试图弄清楚如何修改init.d
?解决此问题的任何帮助将不胜感激。
错误:
[FAILED] cd /root/CumulusServer | ./CumulusServer --daemon [--pidfile=/var/run/CumulusServer.pid] to /etc/rc.local
[FAILED] /root/CumulusServer | ./CumulusServer --daemon [--pidfile=/var/run/CumulusServer.pid] to /etc/rc.local
[FAILED] cd /root/CumulusServer && ./CumulusServer --daemon
答案1
如果您不介意该命令是启动时最后运行的命令,请将其放入/etc/rc.local
.
请注意,rc.local
通常包含类似 的语句exit 0
,请确保在其之前添加您的命令,以便它实际运行。
对于更复杂的操作并允许在启动后手动停止/(重新)启动此守护程序,您将需要将此命令添加到其自己的文件中,/etc/init.d
就像您最初尝试的那样。看一眼这篇 Debian 维基文章帮助您入门。
答案2
无视cd
,|
和&&
。您只需要使用您尝试执行的 CumulusServer 文件的绝对(完整)路径。此外,您可以[ ]
从选项中删除括号--pidfile
。当显示程序的命令行语法示例时,括号表示命令的可选部分,但实际上并未使用它们。
这会将您的命令插入到 rc.local 的 exit 0 上方:
$ sudo sed -i '/^exit/ i\/root/CumulusServer/CumulusServer --daemon --pidfile=/var/run/CumulusServer.pid\' /etc/rc.local