2012-03-02 5 views
3

私はNodeJSプロジェクトの作業に取り掛かっています。ここでPHPサーバはNodeJSソケットサーバの起動と停止を制御します。サーバーはPHPを介したリモート呼び出しによって起動されますが、リモートNodeJSサーバーを停止する方法についてはわかりません。この場合、オプションではないCTRL-Cを押してください。誰もがきちんとした方法で終了イベントを引き起こす方法を知っていますか?例外をスローするために行うことができる、またはうまくいくイベントがありますか?リモートでNodeJSを停止する

+1

を呼び出してルートを公開することができますが、 'proc_open'と' proc_close'を試してみましたか? –

+0

答えは間違いありませんが、NodeJSサーバー自体がPHPスクリプトと同じマシンにない可能性があることを追加する必要があります。その点を今質問に追加します。 – blackbourna

答えて

2

あなたはいつもprocess.exit();

Node API Docs: process.exit

+0

これを受け入れることで、プラットフォーム固有の方法ではなく、Nodeで処理できるようになります。 – blackbourna

1

あなたのnodejsアプリケーション用のキックスタートスクリプトを/etc/init.dにセットアップしてから、コマンドラインから[start | reset | stop]をセットアップします。リモートマシン上にある場合は、パスワードなしのSSHを使用してPHPアプリケーションを調べて、リモートから開始/停止する必要があります。

+1

あなたは、パスワードのないログインを、データへの書き込みアクセスのないアカウントにして、 '/ etc/sudoers'を設定して、そのアカウントがルートとして'/etc/init.d'スクリプトを実行できるようにすることができます。これにより、stopコマンドは 'ssh user @ host sudo /etc/init.d/script stop'になります。これにより、カスケードしているセキュリティの失敗を防ぐことができます。 –

関連する問題