
Tengo un script bash que uso para ejecutar XCode en OS X, lo que lleva varios minutos. No puedo encontrar el comando de teclado para detenerlo si me doy cuenta de un error... en DOS estoy acostumbrado Ctrl+C/ Ctrl+Zpero ninguno parece funcionar. ¿Qué estoy buscando (en el terminal OS X estándar)?
Respuesta1
Hay algunas pulsaciones de teclas que deberían ayudarle aquí.
Ctrl+ Cdebería enviar el proceso de primer plano SIGINT, y eso debería finalizar el proceso a menos que capture la señal con algo como trap INT ...
en su código de shell.
Ctrl+ Zdebería enviar SIGSTOP, lo que pausaría su proceso nuevamente, a menos que atrape sus señales.
El mapeo de secuencias de teclas salta algunos obstáculos, incluida la configuración del terminal. ¿Qué stty -a
dice en tu computadora? Busque en el resultado intr
, esa es la pulsación de tecla que debería activar SIGINT. Si no hay nada configurado, debe configurarlo, algo comostty intr ^C
Como han dicho otros, también puedes finalizar el proceso desde otra ventana.
Respuesta2
Si Ctrl+ Cno funciona para usted, puede abrir una nueva pestaña de Terminal y escribir
killall [process name]
¿Dónde [process name]
está el nombre de su script bash (puede encontrarlo en el Monitor de actividad de OS X)?
Respuesta3
Puedes probar estas soluciones:
- prueba esta combinación de teclado: Ctrl+ AltGr+8
- abre una nueva terminal y ejecuta
pkill -f script_name
Respuesta4
Para agregar a lo que otros usuarios han dicho, también puede usar Ctrl+ \que envía SIGQUIT
y es lo mismo SIGINT
excepto que también produce un volcado de núcleo. He descubierto que los programas que ignoran SIGINT
a menudo no ignoran SIGQUIT
.
Basado en elpágina de manual para matar, también puedes enviar un SIGTERM
o SIGKILL
a cualquier proceso. Para lograr esto, busque su proceso en la tabla de procesos (escriba ps
) y luego escriba kill -15 [pid]
enviar un SIGTERM
o kill -9 [pid]
enviar un SIGKILL
(SIGKILL no se puede ignorar y finalizará el proceso pase lo que pase).