2011-11-17 6 views
0

私はUbuntuでOrientDBを実行しようとしています。現在、私はbin/server.shで走っています。シェルでフォアグラウンドを実行する点を除いて、これはうまく動作します。 Ctrl+Zbgコマンドでバックグラウンドを動作させることはできますが、デーモンとして実行されているわけではありません。予期せず終了したときに自動的に再実行するサーバーデーモンを作成するには?

私はログアウトした後もプログラムを実行し続けたいと考えています。予期せず終了した場合やOSが再起動した場合には、再度起動されます。 MS Windowsサービスと同様です。しかし、問題は私がどのようにこれを行うことができるか分からないということです。

長期実行サービスとしてプログラムを実行するにはどうすればよいですか?

+0

ログアウト時の終了については、['nohup'](http://linux.die.net/man/1/nohup)を使用してください。 –

答えて

0

サーバーを所有していない場合は、「screen」コマンドを使用してください。コマンドを実行し、コマンドが実行されているコンソールから切り離し、実行中にログアウトします。実行中の画面に再接続して出力を確認したり、スクリプトを再起動することができます。画面コマンドの詳細は次のとおりです。 http://www.manpagez.com/man/1/screen/

サーバーを所有している場合は、initスクリプトを作成する必要があります。これはあまり難しくないので、起動時に自動的に実行するように設定することができます。システムは、開始するときは「開始」パラメータを、停止させたいときは「停止」パラメータでスクリプトを実行します。 http://www.novell.com/coolsolutions/feature/15380.html

コマンドがまだコンソールからデタッチしていない(デーモンモードで実行されている)場合は、initスクリプトで、そのコマンドを括弧で囲んで独自のシェルで実行します。かっこ内のファイルにパイプしない限り、出力は表示されません。

(bin/server.sh >> /var/log/server.log) 
関連する問題