Eu vi este comando em um livro para scripts de shell do Linux
$ kill -HUP 1234 >killout.txt 2>killerr.txt
Eu sei o que o comando faz, mas não consigo entender os sinalizadores-HUP
Responder1
No Linux, tente man 7 signal
.
kill -HUP 1234
significa "enviar o sinal SIGHUP (1) para o processo 1234", portanto é equivalente a kill -1 1234
. O sinal padrão enviado por kill é SIGTERM (15), portanto kill 1234
é equivalente a kill -TERM 1234
ou kill -15 1234
.
Responder2
-HUP
não são os três sinalizadores H
, U
, P
como na sintaxe comum de opção de uma letra. Por razões históricas, o kill
comando utiliza um nome de sinal ou número de sinal opcional precedido por um traço ( -
).
kill -1 1234
kill -HUP 1234
(Ao contrário de kill 1 1234
, que enviaria o sinal padrão (SIGTERM) para os processos 1 e 1234.)
Sua página de manual provavelmente lista algo assim:
kill [ -signal | -s signal ] pid ...
Isso -signal
significa que você pode usar um travessão seguido de uma designação de sinal (que pode ser um nome ou número). Alternativamente, você pode usar a -s
opção seguida de um nome de sinal; estas são duas sintaxes diferentes com o mesmo significado.
kill -l
lista os nomes dos sinais disponíveis e os números correspondentes.
Maioriasinaistem um significado predefinido com base emquem os envia quandoe como os processos são supostos e capazes de reagir a eles.