Аргумент -9 (или KILL ) для команды kill следует использовать в POSIX-совместимых системах только в случае крайней необходимости. Почему? Сигнал KILL не может быть обработан процессом. Это означает, что после завершения процесса с помощью kill -9 , дочерние процессы останутся в памяти и станут «осиротевшими» (orphaned), файловая система окажется засорена временными файлами, сегменты совместно используемой памяти — активными, сокеты — зависшими, а функция atexit(3) вообще не будет выполнена. В результате есть риск столкнуться с неожиданными и сложными для отладки проблемами.
Вместо этого используйте дефолтный сигнал TERM , а KILL — только если менее проблемные сигналы окажутся неэффективными:
$ kill 6738
$ kill -INT 6738
$ kill -HUP 6738
$ kill -KILL 6738
Если даже сигналу KILL не удается завершить процесс, это означает, что процесс скорее всего завис при операции ввода-вывода или находится в каком-нибудь другом незавершаемом состоянии. Может потребоваться перезагрузка или принудительное размонтирование глючного сетевого диска.
Как прописать геймод, кил, спавенпоинт.
Использование kill -KILL по умолчанию допустимо при работе с проблематичным приложением, например, старые версии Netscape частенько завершались только с помощью сигнала KILL . Однако, это редкое исключение из правила: используйте KILL для этих заранее известных приложений и только для них.
Проблемы, возникающие при завершении процессов
Последовательная отправка разных сигналов может вызвать следующие проблемы: во-первых, процессу могут потребоваться секунды, или даже десятки секунд для корректного завершения. Один продукт, которым мне приходилось пользоваться, требовал более 30 секунд для правильного завершения после получения сигнала TERM . К счастью, эта особенность была обнаружена во время тестирования, поэтому для этого случая был написан подходящий скрипт. Во-вторых, иногда бывают ситуации, когда старый процесс завершился, в то время как новый процесс занял его ID в промежутке между сигналами TERM и KILL . Особенно этому риску подвергаются системы с повышенной «текучкой» процессов и системы, где ядро назначает PID в случайном порядке, например, OpenBSD. Проверка имени процесса или его PPID не всегда помогает, так как новый процесс может быть форком того же родителя и иметь такое же имя, поэтому особо параноидальные скрипты могут также проверять время создания процесса или другие метаданные перед отправкой сигнала. Возможно эти ситуации возникают редко, но с ними стоит считаться, если приходится иметь дело с критичным процессом.
Сигналы завершения процесса
Сигналы завершения процесса могут обозначаться по имени или порядковому номеру: kill -1 и kill -HUP эквивалентны. Однако, использование имени сигнала более безопасно, так как при указании аргумента -1 легко опечататься, отправив сигнал другому процессу или даже группе процессов. Также всегда старайтесь использовать имя в скриптах, так как это поможет лучше понять какой тип сигнала отправляется тому, кто будет читать ваш код.
Как Выжить После /Kill в Майнкрафт
Сигнал HUP «подвешивает» шелл, поэтому это хороший способ очистить шелл, повисший в ожидании ввода, или закрыть SSH-сессию.
Более подробная информация о сигналах завершения процессов указана в man-страницах kill(1), а команда kill -l выведет список сигналов, поддерживаемых операционной системой. kill(2) детально описывает системные вызовы. Для более подробной информации, обратитесь к книгам The Design and Implementation of the 4.4 BSD Operating System или UNIX Internals: The New Frontiers.
Источник: habr.com
[FAQ] Что такое RevengeKilling, Character Kill, Player Kill, VelliHop
В этой статье я вам расскажу, такие понятие РП игры, которые многие не слышали. Это — RevengeKilling, Character Kill, Player Kill, VelliHop. и так начнём:
RevengeKilling
Это месть тому игроку, которой вас убил (Естественно не по РП). Простым слово это ответный ДМ. Ситуация:
К вам приходит Dmitry_Reznov, достаёт оружие и начинает стрелять в вас без весомой РП причины и без отыгрыша своих действии в /me /try /do. Потом вы выходите из больницы, находите его и убивайте его (Без РП причины. То что он вас убил без отыгрыша, это не РП причина). Так же RevengeKilling может считаться Deathmatch’ом, так как админ не может знать, что это RevengeKilling. Это означает, что за данное нарушение вы можете получить до 5-и дней бана.
Character Kill или RP Kill
Это убийство игрока для его обнулении (ЛвЛ, Деньги и другое имущество). Так же Character Kill известен как RP Kill (РП убийство). Character Kill проводятся только при весомой РП причины. Весомой РП причины не может быть оскорбление, угон машины и т.д. После Character Kill вы создаёте нового персонажа, который не знает, что вашего старого персонажа убили.
Player Kill
Это убийство игрока с весомой РП причиной и отыгрышом. Это убийство не считается Character Kill (RP Kill). Но если в IC чат напишете, что вас убили — это будет MetaGaming’ом. Так же запрещено Player Kill, если причина RevengeKilling.
VelliHop или VelloHop
Это прыжки на велосипеде. Простым словом, это считается Powergaming’ом.
Источник: simeloft.rolebb.ru
Команда kill
PID — это PID (числовой идентификатор) процесса или несколько PID процессов, если требуется послать сигнал сразу нескольким процессам.
По умолчанию команда kill шлет сигнал KILL (он также называется SIGKILL и имеет числовое значение 9 ).
Опции
-Сигнал или -s Сигнал или —signal Сигнал
Задает сигнал, который будет послан процессу. Сигнал может задаваться числом или названием.
-l или -l Сигнал или —list Сигнал
Вывести список всех сигналов.
Если задано значение Сигнал , то вывод зависит от того, чему равно заданное значение Сигнал :
- числовой номер сигнала — в таком случае будет выведено название сигнала;
- название сигнала — в таком случае будет выведено числовое значение сигнала.
-L или —table
Вывести список сигналов в табличном виде. Выводится числовое значение и название каждого сигнала.
Примеры использования команды kill
Определить PID процесса
Так как команда kill принимает на вход PID (идентификатор) процесса, то необходимо сначала узнать PID процесса, которому требуется отправить сигнал. Чтобы это сделать, можно использовать команду ps (вместо firefox укажите название процесса):
ps -ef | grep firefox
Вывести список сигналов
Выведем список всех доступных сигналов:
kill -L
В результате получим список сигналов и их числовые значения:
$ kill -L 1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 7 BUS 8 FPE 9 KILL 10 USR1 11 SEGV 12 USR2 13 PIPE 14 ALRM 15 TERM 16 STKFLT 17 CHLD 18 CONT 19 STOP 20 TSTP 21 TTIN 22 TTOU 23 URG 24 XCPU 25 XFSZ 26 VTALRM 27 PROF 28 WINCH 29 POLL 30 PWR 31 SYS
Отправка сигнала SIGTERM
Пошлем сигнал SIGTERM процессу с PID 3012:
kill 3012
Отправка сигнала KILL (завершение процесса)
Пошлем сигнал KILL процессу с PID 3121, чтобы принудительно завершить процесс:
kill -KILL 3121
Или можно использовать числовое значение сигнала:
kill -9 3121
Отправка сигнала нескольким процессам
Выполним отправку сигнала KILL сразу нескольким процессам. Для этого необходимо перечислить их идентификаторы:
kill -9 2903 2977 3012
Источник: pingvinus.ru