Правильный способ выхода из программы командной строки? - PullRequest
21 голосов
/ 22 ноября 2011

Я использую mac / linux и знаю, что ctrl-z останавливает текущую команду в терминале, но я часто вижу, что процесс все еще выполняется, когда я проверяю системный монитор. Как правильно остановить команду в терминале?

Обычно я сталкиваюсь с этой проблемой при запуске приложений на python или ruby, я не уверен, что это как-то связано с этим, просто подумал, что добавлю это.

Ответы [ 3 ]

41 голосов
/ 22 ноября 2011

Использование control-z приостанавливает процесс (см. Вывод из stty -a, который отображает нажатие клавиши в susp). Это оставляет его работающим, но в приостановленной анимации (поэтому он не использует ресурсы процессора). Это может быть возобновлено позже.

Если вы хотите остановить программу навсегда, то любое из прерываний (часто control-c ) или выхода (часто control - \ ) остановит процесс, последний произведет дамп ядра (если вы не отключили их). Вы также можете использовать сигнал HUP или TERM (или, если это действительно необходимо, сигнал KILL, но сначала попробуйте другие сигналы), отправленный процессу с другого терминала; или вы можете использовать control-z , чтобы приостановить процесс, а затем отправить угрозу смерти из текущего терминала, а затем вернуть (на грани смерти) процесс на передний план (fg).

Обратите внимание, что все комбинации клавиш могут быть изменены с помощью команды stty или ее эквивалентов; значения по умолчанию могут отличаться от системы к системе.

2 голосов
/ 22 ноября 2011

если вы введете ctrl-z, а затем наберете exit, приложение закроется в фоновом режиме.

Ctrl+Q - еще один хороший способ убить приложение.

1 голос
/ 22 ноября 2011

Взгляните на Управление заданиями в системах UNIX

Если у вас нет контроля над вашей оболочкой, просто нажмите ctrl + C , чтобы остановить процесс. Если это не работает, вы можете попробовать ctrl + Z и использовать jobs и kill -9 %<job #>, чтобы убить его. «-9» - это тип сигнала. Вы можете man kill просмотреть список сигналов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...