0

この node.js サーバーは、一度生成されると stdin からの入力を期待します。入力はすぐに与えられるべきではありません: それらを与える前に何らかのイベント (たとえば、誰かからの接続) を待つ必要があります。コマンドを実行してシェルを閉じると、サーバーは自動的にシャットダウンします。サーバーに入力を与え、シェルを閉じたいと思います (事実上サーバーを実行したままにします)。

たとえば、プロセスをバックグラウンドで実行する必要があることはわかっていますnode my_server.js &が、これによりコマンドラインからの入力が妨げられます。この入力を与えてから、バックグラウンドに置きたいと思います。のようなモジュールforeverは、標準入力を介して入力を与えることなく、自動的にバックグラウンドに置きます。

さらに、スクリプトをバックグラウンドに置くと、シェルを閉じるときにとにかくサーバーが強制終了されます。

なにか提案を?

ありがとう

4

2 に答える 2

1

Ubuntu 12.04 で gedit を使用して簡単なテストを行ったところ、うまくいきました。

「node app.js arg1 arg2」のようにノード アプリを起動しますが、Enter キーを押してプログラムを起動します。プログラムが実行を開始したら、CTRL-z を押します。これにより、ターミナルは元に戻りますが、プロセスはバックグラウンドで停止します。バックグラウンドで実行するには、「bg」と入力して Enter キーを押します。これにより、プロセスは現在も実行され続けますが、バックグラウンドで実行されます.

コマンド「ps -ef | grep node」を使用して、プログラムがまだ実行中であることを確認できます。

ただし、これでもノード プロセスはターミナル ウィンドウにアタッチされたままになるため、ターミナル ウィンドウを閉じるとプロセスが閉じられます。しかし、これにより、探していると思われるもののほとんどをすばやく簡単に取得できると思います。

于 2013-04-23T14:06:33.917 に答える