web-dev-qa-db-ja.com

起動時にプログラムを起動する(Debianサーバー)

フォルダへのパス: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

2
user65922

このコマンドが起動時に最後に実行されることを気にしない場合は、/etc/rc.localにドロップしてください。

rc.localには通常exit 0のようなステートメントが含まれていることに注意してください。実際に実行されるように、コマンドをコマンドの前に追加してください。

より高度なアクションを実行し、起動後にこのデーモンを手動で停止/(再)起動できるようにするには、最初に試したように、このコマンドを/etc/init.dの下の独自のファイルに追加する必要があります。 このDebian Wikiの記事 を見て、始めるのに役立ててください。

1
Joseph R.

無視するcd|および&&。実行しようとしているCumulusServerファイルへの絶対(フル)パスを使用する必要があります。さらに、角かっこを削除できます[ ] から --pidfileオプション。プログラムのコマンドライン構文の例を示す場合、括弧はコマンドのオプションのセクションを示し、実際には使用されません。

これにより、コマンドがrc.localのexit0の上に挿入されます。

$ Sudo sed -i '/^exit/ i\/root/CumulusServer/CumulusServer --daemon --pidfile=/var/run/CumulusServer.pid\' /etc/rc.local
0
Creek