要件:アプリケーションをバックグラウンドでLinux上で実行するにはどうすればよいですか?
私は(もちろんの起動時に)バックグラウンドでLinux上で自分のアプリケーションを実行したいです。
コンソールから直接start/stop/restartコマンドを呼び出すことができます(これは/etc/init.dと同じように単純でなければなりません - コンソールから単純なコマンドを直接呼び出してください)。
私はステータスを呼び出すことができます - そして、私はこのコマンドが何らかの形でそれ自身によって返されたアプリケーションの実際のステータスを取得したいと思っています。私はStringを返すか、stdinを使ってコマンドを送るメソッドを呼び出すことができると考えました。しかし、&、またはstart-stop-daemonを実行すると、stdinはデタッチされます。 stdinをアプリケーションに簡単に取り付ける方法はありますか(私はパイプを作ることができますが、これはかなり複雑です)。または、デーモンとして起動した後にアプリケーションと通信する最良の方法は何ですか(私はソケットを作ってtelnetで接続することができますが、最初にtelnetを起動しなくても、 )?理想的には、任意のコマンドを送信する可能性を得るために素晴らしいものだが、簡単なステータスは(再びしかし - それは、そのステータスsomnehowを取得するためにアプリケーションと通信する必要がある)で十分であろう、私は多くの異なった答えを発見した
。彼らの中には単にnohupと&を使用すると言っている人もいれば、nohupと&は古いファッションだと言う人もいます。いくつかの答えは、start-stop-daemonまたはJSvc(java用)を使用するように言います。しかし、彼らの誰も私からこの3つの要件を満たすことはできないようです。
3つの要件のすべてを満たすための最も簡単な可能性は何ですか?
PS。私は画面を使いたくない。アプリケーションはLinuxデーモンとして実行する必要があります。
PPS。アプリケーションはJavaで書かれていますが、私はJavaに限定されない一般的な解決策を探しています。
IMHOという名前のパイプはあなたにとって正しい方法です。 –
Stack Overflowは、プログラミングと開発に関する質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。また、[Dev Opsについての質問はどこに投稿しますか?](http://meta.stackexchange.com/q/134306) – jww