В операционных системах Linux есть команда Kill, прерывающая процесс. Она позволяет серверу продолжать работу после серьезных изменений и обновлений без необходимости перезагрузки. Это одно из важнейших преимуществ Linux и одна из причин того, почему она установлена на 90% серверов в мире. Команда kill отправляет процессу специальный сигнал. Ее можно запустить различными способами, непосредственно из командной строки или из скрипта.
Синтаксис
Использование команды kill из /usr/bin предоставляет дополнительную возможность прервать процесс по его имени при помощи pkill. Стандартный синтаксис команды kill следующий:
# kill [сигнал или опция] идентификатор(ы) процесса(ов)
Для команды kill существует около 60 сигналов, но основные значения следующие:
Имя сигнала | Номер сигнала | Действие |
SIGHUP | 1 | Отключить |
SIGKILL | 9 | “Убить” |
SIGTERM | 15 | Прервать |
Гайд по команде kill (1 часть)
SIGTERM используется по умолчанию. Это самый безопасный способ прерывания процесса, когда приложению отправляется запрос, который может быть обработан или проигнорирован. SIGHUP — менее безопасный способ. SIGKILL — наименее безопасный вариант, прерывание процесса без сохранения, этот сигнал не может быть проигнорирован или перехвачен.
Идентификаторы процессов
Чтобы прервать (“убить”) процесс, нам нужно знать его идентификатор (Process ID или PID). Он генерируется автоматически при запуске каждой программы и есть у каждого процесса в Linux. Первый процесс, запускаемый при загрузке Linux — init, поэтому в большинстве случаев ему присваивается идентификатор ‘1’.
Init — системный процесс, его нельзя прервать таким образом. При получении сигнала он сам решает, позволить ли себя прервать, таким образом, команда kill становится просто запросом на отключение системы. Это сделано для того, чтобы исключить случайное прерывание системных процессов.
Увидеть все запущенные процессы и соответствующие им идентификаторы можно при помощи следующей команды:
# ps -A
Для получения идентификатора конкретного процесса можно воспользоваться командой pidof, которой в качестве аргумента задается его имя.
# pidof mysqld 1684
Также можно сделать фильтрацию с помощью grep
# ps aux | grep mysqld root 1582 0.0 0.0 5116 1408 ? S 09:49 0:00 /bin/sh /usr/bin/mysqld_safe —datadir=/var/lib/mysql —socket=/var/lib/mysql/mysql.sock —pid-file=/var/run/mysqld/mysqld.pid —basedir=/usr —user=mysql mysql 1684 0.1 0.5 136884 21844 ? Sl 09:49 1:09 /usr/libexec/mysqld —basedir=/usr —datadir=/var/lib/mysql —user=mysql —log-error=/var/log/mysqld.log —pid-file=/var/run/mysqld/mysqld.pid —socket=/var/lib/mysql/mysql.sock root 20844 0.0 0.0 4356 740 pts/0 S+ 21:39 0:00 grep mysqld
Примеры
Прежде чем перейти непосредственно к исполнению команды kill, следует сделать ряд важных замечаний:
Как Пережить Команду /kill ?
- Пользователь может прервать любой свой процесс.
- Пользователь не может прервать процесс другого пользователя..
- Суперпользователь (root) может прервать системный процесс и процесс любого пользователя.
- Пользователь не может прервать системный процесс
Чтобы “убить” процесс с указанным PID, нужно выполнить следующую команду (приведен пример для процесса mysqld из предыдущего раздела):
# kill -9 1684
Будет “убит” процесс с PID=1684, то есть mysqld.
Можно использовать не только номер, но и название сигнала/ Например, для запроса на прерывание, который можно обработать или проигнорировать:
# kill -SIGTERM 1684
Аналогично, команда kill -SIGKILL PID эквивалентна команде # kill -9 PID
Для прерывания нескольких процессов можно указать их идентификаторы через пробел:
# kill PID1 PID2 PID3
# kill -9 PID1 PID2 PID3
# kill -SIGKILL PID1 PID2 PID3
Прерывание процесса по имени. Команда pkill
Для прерывания процесса по имени, а не идентификатору, используется команда pkill. Нужно внимательно вводить имя процесса, так как прерывание не того процесса может привести к сбоям:
# pkill mysqld
Если у процесса слишком много экземпляров и дочерних процессов, существует команда killall, которой в качестве аргумента также задается имя процесса.
# killall [сигнал или опция] имя процесса
Для прерывания всех экземпляров mysqld с дочерними процессами воспользуйтесь следующей командой:
# killall mysqld
Далее можно проверить состояние процесса (запущен он или нет), например:
# service mysql status
Команда killall
Еще одна полезная команда для завершения процессов, это команда killall. Эта команда также как и pkill может завершить все процессы имеющие одно имя
killall mysqld
А также весьма полезна бывает когда нужно завершить все процессы какого нибудь пользователя.
killall -u username
Заключение
Мы разобрали, как прерывать процессы в Linux и рассмотрели несколько используемых для этого команд. Эти команды следует применять с большой осторожностью, так как неосмотрительное прерывание процесса может привести к системным сбоям или потере важных данных. Для более подробной информации, различных вариантов передаваемых сигналов и других опций можно обратиться к соответствующим man-страницам.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Похожие записи:
- Firewalld, установка и настройка, зоны, NAT, проброс портов
- Пользователи и группы в linux. Добавление удаление редактирование пользователей
- Команда cat в Linux
- Система контроля версий GIT
Источник: itproffi.ru
Commands/kill
Specifies the target(s) to kill. If not specified, defaults to the player who executed the command. Must be a player name, a target selector or a UUID [ Java Edition only ] .
Notes
On success, directly kills living targets, even if they are protected by a high-level Resistance effect or by a totem of undying, and issues the appropriate death message. Players and mobs killed this way drop loot, and slimes and magma cubes that are not of minimum size spawn smaller ones. Destroys boats, minecarts, loose items, paintings, armor stands, and experience orbs if they are targeted. Entities that have over 3.402×10 38 absorption points (1.701×10 38 absorption hearts) take damage from the /kill command but do not die.
In Bedrock Edition, players in Creative mode cannot be killed.
Result
any | the arguments are not specified correctly | Unparseable | Unparseable |
or target: target is not specified when the command’s executor is not an entity | Failed | Failed | |
or target: target fails to resolve to one or more entities (named players must be online) | |||
all the targets are creative-mode players. | Successful | ||
Otherwise | Successful |
Output
any | Java Edition | On fail | 0 | 0 | 0 |
On success | 1 | 1 | the number of targeted entities | ||
Bedrock Edition | On fail | 0 | N/A | N/A | |
On success | the number of entities that are killed | N/A | N/A |
Examples
History
Added /kill . |
/kill is now usable in singleplayer. |
Parsing of the command is now more strict, rejecting extra characters after the command name (such as /killme or /killed ). However, arguments are still ignored, meaning /kill playername still only kills the executor. |
/kill now uses void damage instead of generic damage, bypassing armor. The death message is now » player fell out of the world» instead of » player died». |
/kill now prints the message «Ouch! That looked like it hurt» on execution. |
The damage dealt by /kill is changed from 1,000 to 3.4×10 38 . |
Added (player|entity) argument to /kill . |
Replaced the «Ouch! That looked like it hurt» message with «Killed player «. |
To fix MC-44371 , /kill now directly kills non-living targets, rather than dealing 3.4×10 38 void damage. |
argument is no longer optional. |
argument is once again optional. |
Added /kill . |
Источник: minecraft.fandom.com
Все команды single player commands на русском в minecraft
В данной статье вы сможете узнать, что делают все команды singleplayer commands на русском языке! Вам не придется переводить каждую команду. С помощью SPC можно спавнить различных мобов, от курицы до дракона края!
Список команд single player commands:
/atlantis — воздух будет как вода, в ней можно будет плавать
/ascend — переносит вас в самый верхний блок. Допустим вы находитесь в шахте, вводите эту команду и вы на плоскости в своем доме.
/bind [кнопка] [команда] — после нажатии кнопки в чат напишется команда.
/cannon [X] — выстреливает бомбой ТНТ туда, куда вы смотрите с силой Х (1-10)
/clear — очистка чата
/clearwater — делает воду прозрачной
/descend — переносит вас вниз. Допустим вы находитесь в доме, а под вами пещера — вы будите перемещены в пещеру.
/damage — вы становитесь неуязвимым
/defuse[all] — тнт, которые были активированны, будут дезактивированны (отключает взрыв активированных тнт)
/diff (/difficulty) [0-3] — меняет сложность игры 0 — мирный, 3 — хардкор
/drops — блокирует дроп всех предметов — полезно, когда вам не нужны определенные блоки.
/explode 1-200 — взрывает вас с силой Х (1-200). При большой силе ожидаются лаги.
/ext (extinguish) [all] — тушит вас, если вы горите
/flammable [название блока; ID блока] [время сгорания в формате xx] радиус распространения огня xxx] — Устанавливает горючесть любого блока.
/fly — позволяет летать (SPACE). Чтобы отключить полет введите ту же команду
/give [Dex]:[Hex] [кол-во] — выдаёт предмет [Dex] [кол-во] и значением [Hex] (Hex предмета есть, к примеру, у шерсти).
/heal 1-100 — Лечит игрока на 1-100%
/health [min, max, infinite] — Устанавливает значение здоровья: Min — 0.5 НР, Max — 10 НР. Infinite дает фактически бессмертие.
/helmet [ID] [qty] [damage] — Надевает на голову в слот шлема любой предмет или блок. Второе и третье значение необходимо, если прописываете обычный шлем, если другой блок — можно ставить единицу
/help — Выводит все команды в чат, но их так много, что они не помещаются целиком. Команда /help [любая другая команда мода] выдает справку только по этой команде.
/home — Телепортирует на спавн или к последней кровати.
/i — сокращенная команда /give
/jump — Телепортирует в ту точку, куда наведен прицел.
/keepitems — Сохраняет все вещи после смерти.
/killall — убийство всех (npc)
/light — Устанавливает освещение на максимум на весь мир.
/longerlegs — На высоту в 1 блок можно забраться без прыжка.
/macro [[имя] [количество]|create [имя]|list|delete [имя]] — Создаёт (create), удаляет (delete), и выполняет программы команд, написанные на текстовом редакторе после /macro create [имя].
/msg [Ваш текст] — пишет в чат «Ваш текст».
/music [play; stop; pause; skip; next; громкость (число)] — (играть; стоп; пауза; пропустить; следующая мелодия) заставляет игру проигрывать музыку.
/noclip — тоже позволяет летать, но с некоторыми изменениями: вы можете проходить через блоки, а также лава и удушение вам не грозит уроном.
/p — Выводит в чат вашу текущую позицию XYZ.
/platform — Ставит вам под ноги блок стекла. Полезно когда надо выключить noclip и не упасть.
/reach [число] — Ставит «длину рук» игрока т.е. можно взаимодействовать с предметами на расстоянии
/removedrops [all] — уничтожает лут вокруг игрока.
/rename [имя команды][новое название команды] — Переименовывает команду.
/repair [all] — Чинит инструмент в руках, или все в инвентаре.
/reset — Сносит все изменения и ставит стандартные.
/rescin [путь до файла] — Меняет скин у NPC на которого вы смотрите. Скин должен быть формата png.
/ride — Сажает вас верхом на любого NPC, на которого вы смотрите.
/search [текст] — Ищет блоки/предметы с совпадением названия и текста поиска.
/slippery [имя блока; ID блока] [значение] — Устанавливает скользкость любого блока.
/spawncontrol [all;animals;monsters] (все; животные; монстры) — Устанавливает разрешение спаунится всем, животным, или монстрам.
/superpunch [сила; reset] — Супер кулак — при ударе моба он с большой скоростью улетает. Действует далеко не всегда.
/setspeed (1-10) — увеличивает скорость на х значение. 1 — стандартная скорость бега.
/setjump (1-10) — увеличивает высоту прыжка на х значение. 1 — стандартная высота прыжка. (Примечание: использование прыжка безопасно, вы не разобьётесь, т.е. увеличивает высоту падения).
/spawn [Название моба] [количество] — Спавнит любого моба из майнкрафта. /Spawn list выводит всех доступных мобов даже из модификаций.
/spawnportal — В направлении взгляда игрока появляется активированный портал в ад
/spawnstack [моб] [моб-наездник] — Спаунит одного моба на другом
/spawner [моб] — Создаёт спавнер на месте блока, на который направлен взгляд игрока.
/creeper explosion — Разрешает/запрещает взрывы криперов
/useportal [normal/nether/end] — Перемещает игрока в указанное измерение
/sign [add/edit] «строка1» «строка2» «строка3» «строка4» — Устанавливает табличку (add) или изменяет текст указанной таблички.
/feed [кол-во] — Устанавливает уровень голода.
Источник: gamefoliant.ru