macos - servicios - terminar proceso terminal
¿Cómo matar un proceso en MacOS? (7)
Intenté kill -9 698
pero el proceso no murió.
$ ps -ef | grep chromium
502 698 811 0 0:01.24 ?? 0:07.28 /Users/lucius/chromium/src/xcodebuild/Debug/Chromium.app/Contents/MacOS/Chromium
502 854 732 0 0:00.00 ttys001 0:00.00 grep chromium
$ kill -9 698
$ ps -ef | grep chromium
502 698 811 0 0:01.24 ?? 0:07.28 /Users/lucius/chromium/src/xcodebuild/Debug/Chromium.app/Contents/MacOS/Chromium
502 854 732 0 0:00.00 ttys001 0:00.00 grep chromium
Acabo de buscar esto porque estoy en una situación similar, y en lugar de kill -9 698
intenté sudo kill 428
donde 428 fue el pid del proceso que estoy tratando de matar. Funcionó limpiamente para mí, en ausencia del guión ''-''. ¡Espero que ayude!
Algunos casos es posible que desee eliminar todo el proceso que se ejecuta en un puerto específico. Por ejemplo, si estoy ejecutando una aplicación de nodo en el puerto 3000 y quiero eliminar eso y comenzar una nueva; entonces encontré este comando útil.
Encuentre los ID de proceso que se ejecutan en el puerto TCP 3000 y elimínelos
kill -9 `lsof -i TCP:3000 | awk ''/LISTEN/{print $2}''`
Dada la ruta a su programa, asumo que actualmente está ejecutando esto bajo Xcode, y probablemente esté en un punto de interrupción de depuración. Los procesos no pueden eliminarse en este estado debido a la implementación subyacente de los puntos de interrupción.
El primer paso sería ir a su proceso de Xcode y detener la depuración. Si por alguna extraña razón ha perdido el acceso a Xcode (quizás Xcode haya perdido el acceso a su subproceso gdb), entonces la solución es eliminar el proceso de gdb. Más generalmente, la solución aquí es matar el proceso padre. En su caso esto es PID 811 (la tercera columna).
No hay necesidad de usar -9 en este caso.
Experimenté que si kill -9 PID
no funciona y usted es el propietario del proceso, puede usar kill -s kill PID
cual es sorprendente ya que la página del manual dice que puede kill -signal_number PID
.
Si kill -9
no funciona, tampoco lo hará killall
(o incluso killall -9
que sería más "intenso"). Aparentemente, el proceso de cromo se atasca en una llamada del sistema no interrumpible (es decir, en el kernel, no en la zona del usuario). No creía que a MacOSX le quedara nada de eso, pero creo que siempre hay uno más :-(. Si eso el proceso tiene un terminal de control que probablemente puede crear un segundo plano y matarlo mientras está en segundo plano; de lo contrario (o si la matanza intensa no funciona incluso una vez que el proceso está bien fundamentado) no tengo ideas y creo que es posible que tengas que reiniciar :-(.
Si conoce el nombre del proceso puede utilizar:
killall Dock
Si no lo hace, puede abrir el Monitor de actividad y encontrarlo.
Si está intentando eliminarlo, tiene el PID correcto y no pasa nada, entonces no tiene permisos para finalizar el proceso.
Solución:
$ sudo kill -9 PID
De acuerdo, bastante Mac OS / X da un mensaje de error para este caso:
$ kill -9 196
-bash: kill: (196) - Operation not permitted
Entonces, si no recibe un mensaje de error, de alguna manera no está obteniendo el PID correcto.