自分のノードでサービスapache2のステータスを実行するときに、私は非常に奇妙な動作に気付きました。これはコードです:Apacheが動作しているとき、私は、このコマンドを実行するとサービスが停止しているサービス状況を確認する方法
app.post('/getStatus', jsonParser, function(req,res){
exec("service apache2 status", function(err, stdout){
if(err) throw err;
var statuspmtatmp = /Active: [a-z]* [\(][a-z]*[\)]/g.exec(stdout.toString())[0];
res.json(statuspmtatmp);
});
});
すべてがOKですが、私は、Apacheを停止し、彼らは私が状態を確認しようと、私はエラーを取得する場合:
間違っている何Error: Command failed: /bin/sh -c service apache2 status
at ChildProcess.exithandler (child_process.js:213:12)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at maybeClose (internal/child_process.js:821:16)
at Socket.<anonymous> (internal/child_process.js:319:11)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at Pipe._onclose (net.js:469:12)
?なぜ、Apacheが動いているのですか?だから、実行停止とは、あなたがnode docsで読むことができたよう
if(err){
//code to handle the error
}
を行い、エラー
を投げる
if(err) throw err;
:あなたはエラーをチェックして、この行にエラーを投げている
なぜこの行に?なぜ私が見ているコードを渡していないのですか?私はサービスが疲れているという情報を持っていますか? – cyprian
私の答えは – aaron0207
Worked? – aaron0207