2017-12-26 7 views
0

Ich erstelle ein Skript, das einige Pull aus einem Git-Repository macht.Senden Sie KillAll an mehrere Knoten Prozess und warten Antwort

aber zuerst möchte ich eine SIGUSR1 an mehrere Knoten senden, die ich in der Maschine laufen haben, und sobald die alle procesess Anschlag werde ich zu Git-Pull-

gehen so basicly werde ich laufen

killall -s SIGUSR1 node 

Da mein Knoten eine Endlosschleife ausführt, möchte ich dieses Signal abfangen und in einem Teil der Schleife töten, wo ich weiß, dass es keine Daten beeinflusst. So

, wenn alle Knoten gestoppt wird i

fortsetzen, aber wie kann ich abwarten, bis alle Knoten Prozess-Exit sauber, bevor Sie den git pull tun und beginnen wieder die Knotenschleife

Antwort

1

Von man killall:

-w, --wait 
      Wait for all killed processes to die. killall checks once per second if any of the 
      killed processes still exist and only returns if none are left. Note that killall may 
      wait forever if the signal was ignored, had no effect, or if the process stays in zombie 
      state. 
+0

Perfekt, das funktioniert perfekt, ich benutze auch für immer, wenn ich den Prozess aus dem Inneren des Codes für immer wieder neu startet, wie kann ich für immer aufhören komplett aus dem Code machen? –

+0

Beziehen Sie sich auf https://github.com/foreverjs/forever? Keine Ahnung, schau dir die Dokumentation an. Vielleicht "für immer aufhören ..."? – Pavel

Verwandte Themen