いくつかの検証と構成を行い、別のプロセスを起動して終了するノードにアプリケーションを作成しています。nodejs実行可能ファイルを起動してノードのプロセスを終了する
この新しいプロセスを同じコンソールウィンドウで実行し、同じ出力を使用してコンソールからキーボード入力を受け入れたいとします。
これはノードでも可能ですか?私は子プロセスを作成できることを知っていますが、私が知っている限り、ノードが終了するとそれらは死ぬでしょう。
ありがとうございました
いくつかの検証と構成を行い、別のプロセスを起動して終了するノードにアプリケーションを作成しています。nodejs実行可能ファイルを起動してノードのプロセスを終了する
この新しいプロセスを同じコンソールウィンドウで実行し、同じ出力を使用してコンソールからキーボード入力を受け入れたいとします。
これはノードでも可能ですか?私は子プロセスを作成できることを知っていますが、私が知っている限り、ノードが終了するとそれらは死ぬでしょう。
ありがとうございました
以下のリンクから、いくつかのヘルプがあります。 2つの別々のスクリプト(node.jsが '新しいプロセス'のオプションを設定し、2番目は "新しいプロセス"が実行される場所)を端末で '&'文字で区切って実行することを提案しています。
How do you run multiple programs in parallel from a bash script?
それを使用して、あなたはノードのスクリプトを通してそれを起動するのではなく、端末から直接、「新しいプロセス」を実行することができることができるように、あなたのNode.jsスクリプトで変更する必要があります。 node.jsスクリプトでオプションを設定し、端末からプロセスを起動するだけです。
ありがとう、私はその解決策を知っていたが、私はもう少しエレガントなものを望んでいた。 – Roaders
Okay @Roaders、もう少しエレガントであるために、ターミナルで直接実行するのではなく、npmスクリプトを通してそのコマンドを実行することができます。あなたはそのコマンドをノードアプリケーションのpackage.jsonファイルとターミナルで言及する必要があります - >ノードアプリケーションのルートディレクトリにナビゲート - >ターミナルで 'npm run start'コマンドを実行します。' start'はそのパッケージの名前です.jsonスクリプト。 – Shivam
UNIX/Linuxベースオペレーションシステムでは不可能であることが分かっています。あなたのコードからプロセスを実行すると、そのプロセスはあなたのプロセスの子になります。ノードプロセスが 'init'子プロセスの1つになる前に他のプロセスを作らなければなりません。私はそれが同じコンソールでそれらを得ることが可能かどうかわからない。 – Rome