2016-04-25 31 views
0

^トピックバックグラウンドでnodejsを起動して10分を再起動する方法

私は今、Debian 8を持っています。

私は

プログラム1を、この2つのファイルを一緒に実行したい2つのノードファイルはnodejs /home/Bots/server/server.jsこの後 を開始する必要があり、私は10秒からタイムアウトを必要としています。 プログラム1が開始されてから10秒後にプログラム2が開始されます。あなたはnodejsの話をしているように見えるので、私はあなたのjavaタグはjavascriptする必要がありますと仮定します/

+0

特定の順序でプロセスを調整する – Matt

答えて

1

:nodejs /home/Bots/f.js

おかげ

は、私がここで何の仕事は何も見つかりませんでした。

あなたがしようとしていることを正確に伝えるのは少し難しいですが、.exec()または.spawn()の子プロセスモジュールを使用してnodej内から新しいプロセスを起動できます。

nodejsプロセスがすでに実行されている場合は、setTimeout()と子プロセスモジュールを使用して、将来予定された時間に別のプロセスを起動できます。例えば

は、ここでは内にラップchild_processドキュメントページからの例ですsetTimeout()

おそらく、それはしようとするのではなくアップするまで、あなたのボットがダウンし、サーバーとポーリングを処理するために、より信頼性の高いことになるだろう
const exec = require('child_process').exec; 

setTimeout(function() { 
    const child = exec('cat *.js bad_file | wc -l', (error, stdout, stderr) => { 
     console.log(`stdout: ${stdout}`); 
     console.log(`stderr: ${stderr}`); 
     if (error !== null) { 
      console.log(`exec error: ${error}`); 
     } 
    });   

}, 10 * 1000); 
+0

ありがとう今私はスタートスクリプトが必要です:)しかし、私はパテを開始しなければなりません、そして、私はそれを閉じると私のnodejsを閉じます:s –

+0

ああ、これを見てhttp://prntscr.com/awh1eq –

+0

@CCSESD - 矢印機能をサポートする現在のバージョンのnode.jsを実行していないようです。古いスタイルの関数コールバックを使用するか、新しいバージョンのnodejにアップグレードするために、上記のコードを変更することができます。 – jfriend00

関連する問題