私が知る限り、APIドキュメントの指示に従いました。options を使用してプロセスを生成し、ChildProcessdetached:true, stdio:['ignore','ignore','ignore']
を呼び出します。unref
ChildProcess には pid があるので、正常に開始されたと思います。単調なタスク内からイエティ サーバーを起動しようとしています。このコードは非同期呼び出し内にあるためnext
、タスクを続行して最終的に終了します。私は、Mac OSX 10.9のyetiスクリプトへの正しいパスをwhich
取得するために使用します。ポートも空のポートに定義されます。コマンドラインで同じコマンドを実行すると、問題なく動作します。うなり声が終了した後、ログに記録された pid に対してandおよび grepを呼び出しますが、何も実行されていません。コードは次のとおりです。cmd
/usr/local/bin
ps aux | grep node
ps aux
yeti = spawn("" + cmd + " --server --port " + port, [], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore']
});
yeti.unref();
next("Yeti server is running. pid: " + yeti.pid);