
フォルダパス: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 Wiki 記事始めるのに役立ちます。
答え2
cd
、|
およびを無視します&&
。実行したいCumulusServerファイルの絶対(フル)パスを使用できます。オプションから角かっこを削除することも[ ]
できます--pidfile
。プログラムのコマンドライン構文の例が表示されている場合、括弧はコマンドのオプション部分を表しますが、実際には使用されません。
これにより、出口0の上のrc.localにコマンドが挿入されます。
$ sudo sed -i '/^exit/ i\/root/CumulusServer/CumulusServer --daemon --pidfile=/var/run/CumulusServer.pid\' /etc/rc.local