Когда Вы пытаетесь завершить процесс окончательно, какую опцию для “уничтожения” необходимо использовать?

Существует опция для него в настройках ввода: открытый gnome-tweak-tool и в Typing раздел разворачивает Разные опции совместимости и проверяет опцию "NumLock on: digits, Shift switches to arrow keys, NumLock off: always arrow keys (as in MS Windows)"
Или Вы могли использовать dconf-editor, перейдите к org> гном> рабочий стол> входные источники> xkb-опции и добавьте 'numpad:microsoft' к существующим значениям.

Для настольно-агностического решения можно использовать setxkbmap -option numpad:microsoft в Ваших X файлах запуска.

26
08.01.2012, 03:20
2 ответа

Существует много сигналов, чье расположение по умолчанию состоит в том, чтобы завершить процесс. Окончательный сигнал завершения является SIGKILL, так как он не может быть обработан, и процесс не имеет никакого выбора, кроме как умереть. Это однако также означает, что при отправке его процесс лишен возможности вымыться. Поэтому благовоспитанность требует для отправки сигнала как SIGTERM, который может быть обработан первый и единственный, если процесс не выходит, через какое-то время отправляют ему SIGKILL.

Обратите внимание, что SIGINT и SIGQUIT не являются хорошими кандидатами на произвольное завершение процесса. Вследствие того, что они могут быть сгенерированы с клавиатуры терминала, много приложений используют их для особых целей. Например, интерпретатор Python использует SIGINT для генерации KeyboardInterrupt исключение (также на интерактивных сессиях Python, куда это просто возвращается к подсказке) и JVM использует SIGQUIT для дампа отслеживаний стека. SIGINT и SIGQUIT действительно остаются эффективными для большинства стандартных утилит командной строки как find или cat.

Во время завершения работы системы большая часть UNIX и систем Linux отправляют SIGTERM в весь процесс, сопровождаемый на 5 секунд ожидают, сопровождаемые SIGKILL. Это - рекомендуемый способ безопасно закрыть произвольный процесс.

Обратите внимание также, что даже SIGKILL не может завершиться, процесс всунул бесперебойное ожидание, пока процесс не просыпается.

24
27.01.2020, 19:40
  • 1
    Превосходный ответ. У Вас есть ссылка для kill -SIGTERM $pid; sleep 5; kill -SIGKILL $pid; рекомендация? –  l0b0 09.01.2012, 18:20
  • 2
    +1 ответа. И что относительно SIGHUP? –  Alois Mahdal 14.05.2012, 01:02
  • 3
    @AloisMahdal: SIGHUP прибывает со дня, когда коммутируемые линии были распространены. Тот сигнал был отправлен, чтобы указать что подвешенная строка. Позже, когда это было менее распространено SIGHUP иногда использовался демонами для перечитывания файла конфигурации, не перезапуская процесс. В эти современные времена SIGHUP редко используется. Многие демоны будут поступать по-своему переинициализации (т.е. apachectl graceful или rndc reconfig. Для вещей, которые не, необходимо использовать [init.d|smf|upstart|launchd] средства управления, если это возможно. –  bahamat 27.06.2012, 21:54

Необходимо запустить с самого нежного и возрасти оттуда. Это означает, SIGINT, SIGTERM, SIGQUIT, SIGKILL. Хотя большинство людей пропускает SIGINT и SIGQUIT.

13
27.01.2020, 19:40
  • 1
    Дополнительно некоторые приложения (такие как JDK) обрабатывают SIGQUIT по-другому. Я, вероятно, не использовал бы SIGQUIT, не зная, как определенное приложение обрабатывает его. –  dimo414 13.03.2018, 01:59

Теги

Похожие вопросы