Когда я выполняю команды, и я хочу выйти, я просто нажимаю Ctrl+C, и он работает. Но существуют несколько раз, когда это не работает, и единственный способ выполнить другую команду закрывает терминал и открывает новый. Я хотел бы знать, как вызвать выход. Например, это происходит, когда я работаю:
git log
Это начинает сообщать обо всех фиксациях, и если я нажимаю ESC, или END I может считать слова END
и ESC
в нижней части, но ничего не происходит, если я нажимаю их. Так, что это означает? Каков способ закончить какую-либо команду?
В git log
пример, просто хит q ключ. Q выходит из текущего действия. Q также работает в эти more
команда и другие.
Это зависит от того, если выполнение процесса уважает конкретный даваемый сигнал. Так, например, в системах Linux "ctrl + c" дает SIGINT. Вы могли также попробовать "ctrl + z", чтобы видеть, уважает ли это SIGTSTP. Это на самом деле не уничтожает процесс, хотя, поэтому позже, если бы Вы хотели разрушить его, необходимо было бы найти идентификатор задания и уничтожить его. Значение по умолчанию kill
команда отправляет SIGTERM, и kill -9
отправляет SIGKILL. Конечно, для уничтожения управляет, чтобы необходимо было бы открыть новый терминал и определить идентификатор процесса того, что Вы хотите уничтожить. В конце нет никакой "серебряной пули". SIGKILL часто считается "самым сильным", но это также является самым резким и только рекомендуется как последнее прибежище, так как это не позволяет процессу корректно завершаться. Вот ссылка на больше полного списка сигналов:
https://en.wikipedia.org/wiki/Unix_signal
Много проектов будет полагать, что это ошибка, если они правильно не обработают определенные сигналы. Таким образом, это всегда - опция зарегистрировать ошибку с проектом, который не является acknwledging "ctrl + c", и посмотрите, зафиксируют ли они его для обработки SIGINT ожидаемым способом.