Подтвердить что ты не робот

Правильный способ выхода из командной строки?

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

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