Wie zu töten diese unsterbliche nginx worker?
Habe ich begonnen, nginx und wenn ich nicht mehr wie root
/etc/init.d/nginx stop
nach, dass ich die Art
ps aux | grep nginx
und als Antwort bekommen, wie tcp LISTEN 2124 nginx WORKER
kill -9 2124 # tried with kill -QUIT 2124, kill -KILL 2124
und nachdem ich den Typ wieder
ps aux | grep nginx
und als Antwort bekommen, wie tcp LISTEN 2125 nginx WORKER
und so weiter.
Wie tötet man diese unsterblichen Chuck Norris Arbeiter ?
Ich weiß, das ist albern, aber haben Sie versucht
In meinem Fall hatte ich keine nginx installiert, gitlab verantwortlich war, um zu laichen der Arbeitnehmer.
sudo service nginx stop
?In meinem Fall hatte ich keine nginx installiert, gitlab verantwortlich war, um zu laichen der Arbeitnehmer.
InformationsquelleAutor PaolaJ. | 2013-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach
kill -9
es nichts mehr zu tun, um den Prozess - es ist tot (oder dazu verdammt zu sterben). Der Grund, es klebt rund ist, weil entweder (a) des parent-Prozesses hat nicht darauf gewartet, dass es noch, so dass der kernel hält der Prozess-Tabelle-Eintrag, halten Sie den status, bis die Eltern nicht so, oder (b) der Prozess, der stuck ist auf einem system call in den kernel, nicht beenden (was in der Regel bedeutet, dass eine buggy-Treiber und/oder hardware).Wenn der erste Fall ist, bekommen die Eltern warten, bis das Kind oder die Beendigung der Elternteil, sollte funktionieren. Die meisten Programme haben nicht einen klaren Weg, um Sie zu "warten, bis ein Kind", so dass möglicherweise nicht eine option sein.
Im zweiten Fall, ist die wahrscheinlichste Lösung ist ein Neustart. Möglicherweise gibt es tools, die löschen konnte einem solchen Zustand, aber das ist nicht üblich. Je nachdem, was das kernel-Verarbeitung zu tun, es kann möglich sein, um es zu entsperren, die durch andere Verfahren, aber das erfordert Kenntnisse der Verarbeitung. Zum Beispiel, wenn der Prozess blockiert ist, auf ein kernel-lock, dass einige andere Prozess irgendwie halten auf unbestimmte Zeit, der Kündigung, der andere Prozess könnte aleviate das problem.
Beachten Sie, dass die
ps
Befehl kann eine Unterscheidung zwischen diesen beiden Staaten als gut. Diese zeigen sich in der 'Z' - Zustand. Finden Sie die ps-man-Seite für mehr info: http://linux.die.net/man/1/ps. Sie können auch zeigen, bis mit dem text "Karteileichen".InformationsquelleAutor ash
Ich hatte das gleiche Problem.
In meinem Fall gitlab wurde die Verantwortung zu bringen, die nginx Arbeitnehmer.
wenn ich completelly entfernt gitlab von meinem server bekam ich in der Lage zu töten, die nginx Arbeitnehmer.
InformationsquelleAutor Tiago_nes
Ich hatte ähnliches Problem.
Überprüfen, ob Sie mit einem auto-Heiler wie Monit oder Supervisor läuft die Arbeiter, wenn Sie versuchen, Sie zu stoppen. Wenn ja, Deaktivieren Sie diese.
Meine Arbeiter wurden hervorgebracht wird aufgrund der änderungen, die ich vergessen, die ich bei update-rc.d bei Ubuntu.
Also habe ich installiert sysv-rc-conf das gibt eine saubere Oberfläche kontrolliert werden, was Prozesse sind, die auf neu starten, können Sie deaktivieren es, und ich Ihnen versichern, dass keine Chuck Noris Auferstehung 😀
InformationsquelleAutor NoorJafri