2016-06-15 7 views
0

Innerhalb eines Node/Express-Server, fing ich an einem anderen Knoten/Express-Server als Kind Prozess: gotWie Knoten Node Express Kind Prozess zu beenden?

let appifi = child.spawn('node', [babel_path, www_path], { 
    cwd: appifi_path, 
    env: appifi_env, 
}) 

Das hat gut funktioniert und appifi eine pid, sage 2376.

Beim Versuch, das Kind Prozess zu stoppen , appifi.kill() wird den Prozess mit pid 2376 beenden, aber es wird ein erneut gestarteter Serverprozess ausgeführt, normalerweise mit einer PID, die der PID des Elterns plus 5 entspricht (ich weiß nicht, ob dies eine strikte Regel ist).

Meine Frage ist, wie sie beide im übergeordneten Server zu töten? ist es sicher zu verarbeiten.kill (appifi.pid + 5)? oder gibt es bessere Wege?

+0

töten Ich habe nicht den dritten Prozess (respawned Server-Prozess) sehen, weder ich verstehen, warum sollte es sein. Können Sie Ihren vollständigen Code platzieren, der dieses Verhalten verursacht? –

Antwort

0

Sie können beide (eigentlich alle) Knoten-Server von killall -9 node