実行中のプログラムをデーモンとして停止するにはどうすればよいですか?

実行中のプログラムをデーモンとして停止するにはどうすればよいですか?

デーモンとして実行されるJavaスクリプトを実行しています。入力すると、プロセスがデーモンとして実行されていることがわかりますjps。私はこのプログラムがcronジョブによって自動的に実行されることを検討しているので、デーモンとして実行したくありません。これにより、バックグラウンドで多くのデーモンが実行されるのを見ることができるので、停止したいと思います。 Javaプログラムは実行する必要がありますが、デーモンプロセスでは実行されないので、誰でもこの質問に答えることができますか?

私は次のコマンドを使用しています:

java -cp $CP com.sdp.cloudwatch.DevAWSCloudWatch

それ以前は、以下を使用しました。

nohup java -cp $CP com.sdp.cloudwatch.DevAWSCloudWatch &

プログラムがデーモンとして実行されるのを防ぐために削除しましたが、上記のコマンドから削除してもデーモンnohup &としてnohup &実行されます。

ベストアンサー1

実際にデーモンとして実行されていないようです。実際のデーモンは再びフォーク、setid、フォーク(および他のjiggeryポーカー)を実行する必要があります。これはJava内では実行できません。

あなたが意味するのは、呼び出したプロセスが終了していないことです。

唯一の実用的なオプションは、Javaコードを書き換えることです。

おすすめ記事