2017-11-15 29 views
0

いくつかの検証と構成を行い、別のプロセスを起動して終了するノードにアプリケーションを作成しています。nodejs実行可能ファイルを起動してノードのプロセスを終了する

この新しいプロセスを同じコンソールウィンドウで実行し、同じ出力を使用してコンソールからキーボード入力を受け入れたいとします。

これはノードでも可能ですか?私は子プロセスを作成できることを知っていますが、私が知っている限り、ノードが終了するとそれらは死ぬでしょう。

ありがとうございました

+0

UNIX/Linuxベースオペレーションシステムでは不可能であることが分かっています。あなたのコードからプロセスを実行すると、そのプロセスはあなたのプロセスの子になります。ノードプロセスが 'init'子プロセスの1つになる前に他のプロセスを作らなければなりません。私はそれが同じコンソールでそれらを得ることが可能かどうかわからない。 – Rome

答えて

0

以下のリンクから、いくつかのヘルプがあります。 2つの別々のスクリプト(node.jsが '新しいプロセス'のオプションを設定し、2番目は "新しいプロセス"が実行される場所)を端末で '&'文字で区切って実行することを提案しています。

How do you run multiple programs in parallel from a bash script?

それを使用して、あなたはノードのスクリプトを通してそれを起動するのではなく、端末から直接、「新しいプロセス」を実行することができることができるように、あなたのNode.jsスクリプトで変更する必要があります。 node.jsスクリプトでオプションを設定し、端末からプロセスを起動するだけです。

+0

ありがとう、私はその解決策を知っていたが、私はもう少しエレガントなものを望んでいた。 – Roaders

+0

Okay @Roaders、もう少しエレガントであるために、ターミナルで直接実行するのではなく、npmスクリプトを通してそのコマンドを実行することができます。あなたはそのコマンドをノードアプリケーションのpackage.jsonファイルとターミナルで言及する必要があります - >ノードアプリケーションのルートディレクトリにナビゲート - >ターミナルで 'npm run start'コマンドを実行します。' start'はそのパッケージの名前です.jsonスクリプト。 – Shivam

関連する問題