Aller au contenu

signal: bibliothèque Lua pour tuer ou envoyer des signaux aux processus UNIX

Installation

Si vous n'avez pas configuré l'abonnement au dépôt RPM, inscrivez-vous. Ensuite, vous pouvez procéder avec les étapes suivantes.

CentOS/RHEL 7 ou 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

Pour utiliser cette bibliothèque Lua avec NGINX, assurez-vous que nginx-module-lua est installé.

Ce document décrit lua-resty-signal v0.4 publiée le 08 août 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, "échec de la suppression du processus avec pid ", pid, ": ", err)
    return
end

-- envoyer le signal 0 pour vérifier l'existence d'un processus
local ok, err = resty_signal.kill(pid, "NONE")

local ok, err = resty_signal.kill(pid, "HUP")

local ok, err = resty_signal.kill(pid, "KILL")

Fonctions

kill

syntax: ok, err = resty_signal.kill(pid, signal_name_or_num)

Envoie un signal avec son nom sous forme de chaîne ou sa valeur numérique au processus du pid spécifié.

Tous les noms de signaux acceptés par signum sont supportés, comme HUP, KILL, et TERM.

Les numéros de signaux sont également pris en charge lorsque des signaux spécifiques au système non portables sont souhaités.

signum

syntax: num = resty_signal.signum(sig_name)

Associe le nom du signal spécifié au numéro de signal spécifique au système. Retourne nil si le nom du signal n'est pas connu.

Tous les noms de signaux POSIX et BSD sont supportés :

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

Le nom de signal spécial NONE est également supporté, qui est mappé à zéro (0).

GitHub

Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-signal.