signal: Lua библиотека для завершения или отправки сигналов процессам UNIX
Установка
Если вы еще не настроили подписку на RPM репозиторий, зарегистрируйтесь. Затем вы можете продолжить с следующими шагами.
CentOS/RHEL 7 или Amazon Linux 2
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install lua-resty-signal
CentOS/RHEL 8+, Fedora Linux, Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install lua5.1-resty-signal
Чтобы использовать эту Lua библиотеку с NGINX, убедитесь, что nginx-module-lua установлен.
Этот документ описывает lua-resty-signal v0.4, выпущенный 8 августа 2024 года.
local resty_signal = require "resty.signal"
local pid = 12345
local ok, err = resty_signal.kill(pid, "TERM")
if not ok then
ngx.log(ngx.ERR, "не удалось завершить процесс с pid ", pid, ": ", err)
return
end
-- отправить сигнал 0 для проверки существования процесса
local ok, err = resty_signal.kill(pid, "NONE")
local ok, err = resty_signal.kill(pid, "HUP")
local ok, err = resty_signal.kill(pid, "KILL")
Функции
kill
синтаксис: ok, err = resty_signal.kill(pid, signal_name_or_num)
Отправляет сигнал с его строковым именем или числовым значением процессу с указанным pid.
Поддерживаются все имена сигналов, принимаемые signum, такие как HUP, KILL и TERM.
Также поддерживаются числовые значения сигналов, когда необходимо указать специфичные для системы сигналы.
signum
синтаксис: num = resty_signal.signum(sig_name)
Соответствует указанному имени сигнала системному числовому значению сигнала. Возвращает nil, если имя сигнала неизвестно.
Поддерживаются все имена сигналов POSIX и BSD:
HUP
INT
QUIT
ILL
TRAP
ABRT
BUS
FPE
KILL
USR1
SEGV
USR2
PIPE
ALRM
TERM
CHLD
CONT
STOP
TSTP
TTIN
TTOU
URG
XCPU
XFSZ
VTALRM
PROF
WINCH
IO
PWR
EMT
SYS
INFO
Специальное имя сигнала NONE также поддерживается, которое соответствует нулю (0).
GitHub
Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-signal.