私はシェルスクリプトの初心者です。シェルスクリプト内で2つのノードプロセスを実行する
私はノードjsプログラムと、mongoDBを使用するAPIを持っています。 APIはExpressを使用してルートとスキーマにリンクされています。APIサーバーを起動するために必要な操作はすべて実行されます。node app.js
ただし、ユーザーが追加する特定のURLをポーリングするメインプログラムもありますポーリング要求から返されたデータをデータベースに保存します。これは毎秒 'x'秒ごとに発生するので、ポーリングが発生すると常にmongo接続を開き、終了するとすぐに閉じます。このプログラムを実行するには、実行する必要がありますnode main.js
app.js
は、プログラムの実行時にmongo接続を一度開こうとしているようです。
私の質問は何ですか?私は一緒に両方のプロセスを開始し、必要なときにそれらを終了することができるようにbashスクリプトを書くことによってどうにかしてそれらをリンクできますか?
私はこれをやってみました:
#!/usr/bin/bash
# declare STRING variable
STRING="Starting node processes"
#print variable on a screen
echo $STRING
node misrepo/app.js
node misrepo/main.js
しかし、これは唯一のapp.js
を開始し、私のmain.js
アプリケーションを実行しません。
私はちょうどGoogleの助けからこれを把握しようとしているどんな助けてもらえます!
#!/usr/bin/bash
# declare STRING variable
STRING="Starting node processes"
#print variable on a screen
echo $STRING
node misrepo/app.js & node misrepo/main.js
これはmisrepo/main.js
でmisrepo/app.js
でノードを起動し、すぐにノードの別のインスタンスになります。あなたは次の操作を行うことができ、並列に二つのプログラムを起動するには
しかし、APIは終了しませんか? – deeveeABC
どちらもバックグラウンドで実行されます...したがって、予期しないことが起こらず、両方のプロセスが終了する限り、永遠に待つでしょう。プロセスの1つを終了させたい場合は、 'kill'コマンドと' PID'コマンドを組み合わせて 'wait'文をスキップしてください。 –