Manière de sortir du programme en ligne de commande?

J’utilise mac / linux et je sais que ctrl-z arrête la commande en cours d’exécution dans le terminal, mais je constate souvent que le processus est toujours en cours d’exécution lorsque je vérifie le moniteur système. Quelle est la bonne façon d’arrêter une commande dans le terminal?

En général, je suis confronté à ce problème lors de l’exécution d’applications python ou ruby, je ne suis pas sûr que cela ait quelque chose à voir avec ça, j’ai pensé que j’appendais ça.

L’utilisation de control-z suspend le processus (voir la sortie de stty -a qui répertorie le coup de clé sous susp ). Cela le laisse fonctionner, mais dans une animation suspendue (il n’utilise donc pas de ressources CPU). Il peut être repris plus tard.

Si vous voulez arrêter un programme de façon permanente, alors une interruption (souvent control-c ) ou quit (souvent control- \ ) arrêtera le processus, ce dernier produisant un core dump (à moins que vous ne les ayez désactivés). Vous pouvez également utiliser un signal HUP ou TERM (ou, si nécessaire, le signal KILL, mais essayez d’abord les autres signaux) envoyé au processus depuis un autre terminal; ou vous pouvez utiliser control-z pour suspendre le processus, puis envoyer la menace de mort depuis le terminal actuel, puis ramener le processus (sur le sharepoint mourir) au premier plan ( fg ).

Notez que toutes les combinaisons de touches sont susceptibles de changer via la commande stty ou ses équivalents; les valeurs par défaut peuvent varier d’un système à l’autre.

Si vous faites ctrl-z et tapez ensuite exit cela fermera les applications en arrière-plan.

Ctrl+Q est un autre bon moyen de tuer l’application.

Consultez Job Control sur les systèmes UNIX

Si vous n’avez pas le contrôle de votre shell, il suffit de cliquer sur Ctrl + C pour arrêter le processus. Si cela ne fonctionne pas, vous pouvez essayer ctrl + Z et utiliser les jobs et kill -9 % pour le tuer. Le “-9” est un type de signal. Vous pouvez man kill pour voir une liste de signaux.