![Decodificar banderas para el comando Kill](https://rvso.com/image/31662/Decodificar%20banderas%20para%20el%20comando%20Kill.png)
Vi este comando en un libro sobre secuencias de comandos de shell de Linux
$ kill -HUP 1234 >killout.txt 2>killerr.txt
Sé lo que hace el comando, pero no puedo entender las banderas-HUP
Respuesta1
Pruebe con Linux man 7 signal
.
kill -HUP 1234
significa "enviar la señal SIGHUP (1) para procesar 1234", por lo que es equivalente a kill -1 1234
. La señal predeterminada que envía Kill es SIGTERM (15), por lo que kill 1234
es equivalente a kill -TERM 1234
o kill -15 1234
.
Respuesta2
-HUP
no son las tres banderas H
, U
, P
como en la sintaxis común de opción de una sola letra. Por razones históricas, el kill
comando toma un nombre de señal o un número de señal opcional precedido por un guión ( -
).
kill -1 1234
kill -HUP 1234
(A diferencia de kill 1 1234
, que enviaría la señal predeterminada (SIGTERM) a los procesos 1 y 1234).
Su página de manual probablemente incluya algo como esto:
kill [ -signal | -s signal ] pid ...
Eso -signal
significa que puede utilizar un guión seguido de una designación de señal (que puede ser un nombre o un número). Alternativamente, puede utilizar la -s
opción seguida del nombre de una señal; Estas son dos sintaxis diferentes con el mismo significado.
kill -l
enumera los nombres de señales disponibles y los números correspondientes.
Mayoríaseñalestener un significado predefinido basado enquien los envía cuandoy cómo se supone que los procesos pueden reaccionar ante ellos.