クライアントサーバーアプリケーションを作成しましたが、それをデプロイしたいと思います。
開発プロセス中にサーバーをターミナルで起動し、サーバーを停止したい場合は、「Ctrl-C」と入力するだけで済みました。
ここで、バックグラウンドで開始し、必要なときに次のように入力するだけで停止できるようにします。
/etc/init.d/my_service {stop|stop}
initscriptの実行方法は知っていますが、問題は実際にプロセスを停止する方法ですか?
私は最初、次のようなものでPIDを取得することを考えました。
ps aux | grep "my_service"
それから私は、まだPIDを使用して、より良いアイデアを見つけました。サービスを停止しようとしたときにファイルを取得するために、ファイルに保存します。
明らかに汚れすぎて安全ではないので、最終的にはソケットを使用して「停止」プロセスを有効にし、実際のプロセスにシャットダウンを指示することを考えました。
これが通常どのように行われるのか知りたいですか?というか、それを行うための最良の方法は何ですか?
init.d内のいくつかのファイルをチェックし、それらのいくつかはPIDファイルを使用していますが、特定のコマンド「start-stop-daemon」を使用しています。私には安全ではないように思われるこの方法について少し疑わしいです。