nohupを使用して起動するnodejsサーバーがあります。したがって、基本的にはstdinはありません。
nodejsサーバー用にデーモンを作成しました。このデーモンはすべて開始停止再起動ステータス機能を実行します。
しかし、私はnodejsサーバーを停止したくありませんすぐに。特定のタスクの後で停止したい。そのため、サーバーのstdinにコマンドを送信する必要があります。これにより、シャットダウンはサーバー自体によって制御されます。はい、APIを作成することで実行できます。ただし、最後のオプションです。
はい、私のサーバーはstdinから入力を受け取り、正常に機能しています。しかし、nohupを使用すると、stdinがないため、その場合はコマンドを入力する方法がありません。
だから私の質問は、stdinを他のファイルに変更する方法があり、サーバーがstdinの場合と同じようにそこから入力を受け取るかどうかです。
回答:
回答№1は0LinuxまたはMacを使用している場合は、サーバープロセスにシグナルを送信できます。 Windowsでもできますが、コマンドがわかりません。
たとえば、サーバーをリロードしたい場合は、次のことができます。
kill -s SIGUSR2 processId
そしてあなたのサーバーで
process.on("SIGUSR2", function() {
console.log("Got SIGUSR2, reloading server...");
});