# kill

Утилита `kill` в операционных системах UNIX и UNIX-подобных системах (например, Linux) используется для завершения процессов. Она позволяет отправлять сигналы процессам, которые могут приводить к их завершению или изменению поведения.

Завершение процесса по имени: Чтобы убить процесс по его имени, вы можете воспользоваться командой `pkill`. Например, чтобы завершить все процессы с именем "myprocess", вы можете выполнить следующую команду:

```
pkill myprocess
```

Это отправит сигнал завершения (`SIGTERM`) всем процессам с указанным именем.

Завершение дерева процессов: Чтобы прибить дерево процессов (все процессы, зависящие от определенного процесса), вы можете использовать опцию `-TERM` (или `-15`) команды `kill`. Например, предположим, что у вас есть процесс с идентификатором `PID`, который запускает другие процессы. Вы можете завершить все процессы, зависящие от этого процесса, с помощью следующей команды:

```
kill -TERM -- -PID
```

Здесь `-PID` означает все процессы, зависящие от процесса с указанным идентификатором.

Сигналы, используемые в команде `kill`: В команду `kill` можно передавать различные сигналы, которые определяют, как воздействовать на процессы. Некоторые распространенные сигналы включают:

- `SIGTERM` (15): Это стандартный сигнал завершения, который по умолчанию отправляется командой `kill`. Он позволяет процессу корректно завершиться.
- `SIGKILL` (9): Этот сигнал немедленно завершает процесс, не давая ему возможность выполнить какие-либо действия предварительной обработки.
- `SIGHUP` (1): Этот сигнал обычно используется для перезапуска процесса или обновления его конфигурации.
- `SIGINT` (2): Этот сигнал отправляется при нажатии комбинации клавиш `Ctrl+C`. Он используется для прерывания выполнения процесса в терминале.
- `SIGSTOP` (19) и `SIGCONT` (18): Эти сигналы приостанавливают и возобновляют выполнение процесса соответственно. `SIGSTOP` приостанавливает процесс без его завершения, а `SIGCONT` возобновляет его выполнение.

Передать сигнал можно так:

```
kill -SIGTERM PID
#или
kill -15 PID
```

Если не указать сигнал явно, по умолчанию используется `SIGTERM`.