Nach kill -9
gibt es nichts mehr zu tun - es ist tot (oder verdammt zum sterben). Der Grund dafür ist, dass entweder (a) der Elternprozess noch nicht darauf gewartet hat, also behält der Kernel den Prozesstabelleneintrag, um seinen Status zu behalten, bis der Elternprozess dies tut, oder (b) der Prozess hängt auf einem Systemaufruf in den Kernel, der nicht beendet wird (was normalerweise einen fehlerhaften Treiber und/oder Hardware bedeutet).
Wenn der erste Fall, die Eltern auf das Kind warten, oder das Eltern beenden, sollte funktionieren. Die meisten Programme haben keine klare Möglichkeit, sie "auf ein Kind zu warten", so dass dies keine Option ist.
Im zweiten Fall ist die wahrscheinlichste Lösung ein Neustart. Es kann Werkzeuge geben, die einen solchen Zustand beheben können, aber das ist nicht üblich. Abhängig davon, was genau diese Kernel-Verarbeitung macht, kann es möglich sein, sie auf andere Weise zu entsperren - aber das erfordert Kenntnisse über diese Verarbeitung. Wenn der Prozess beispielsweise bei einer Kernelsperre blockiert wird, die ein anderer Prozess auf unbestimmte Zeit hält, kann das Beenden dieses anderen Prozesses das Problem lindern.
Beachten Sie, dass der Befehl ps
diese beiden Zustände ebenfalls unterscheiden kann. Diese erscheinen im 'Z'-Zustand. Weitere Informationen finden Sie auf der ps man-Seite: http://linux.die.net/man/1/ps. Sie können auch mit dem Text "verstorben" angezeigt werden.
Ich weiß, das ist albern, aber haben Sie versucht, 'sudo Service nginx stop'? –
In meinem Fall hatte ich keine Nginx installiert, gitlab war dafür verantwortlich, die Arbeiter zu spawnen. –