signal: 用于终止或发送信号到 UNIX 进程的 Lua 库
安装
如果您尚未设置 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
要在 NGINX 中使用此 Lua 库,请确保已安装 nginx-module-lua。
本文档描述了 lua-resty-signal v0.4,于 2024 年 8 月 8 日发布。
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, "failed to kill process of pid ", pid, ": ", err)
return
end
-- send the signal 0 to check the existence of a process
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
您可以在 nginx-module-signal 的 GitHub 仓库 中找到此模块的其他配置提示和文档。