Às vezes, quando estou executando um killall
comando do Terminal, um colega de trabalho sugere ou edita meus scripts para mostrar killall -HUP
.
O que a -HUP
peça faz?
Às vezes, quando estou executando um killall
comando do Terminal, um colega de trabalho sugere ou edita meus scripts para mostrar killall -HUP
.
O que a -HUP
peça faz?
Respostas:
A -HUP
opção é o sinal enviado aos processos pelo killall
comando. Pode ser um pouco difícil de dizer, mas a entrada relevante no killall
manual é:
-SIGNAL Send a different signal instead of the default TERM. The signal may be specified
either as a name (with or without a leading SIG), or numerically.
A diferença entre o TERM
sinal padrão que killall
envia e o HUP
sinal depende muito do programa para o qual você está enviando o sinal. No final do programa, eles recebem um valor de sinal de interrupção diferente. Portanto, o programa pode capturar as interrupções e decidir, com base no valor, se elas devem fazer uma coisa ou outra.
O TERM
sinal (historicamente o "sinal de término") é normalmente enviado a um programa para solicitar sua terminação (que é uma versão politer de forçar sua terminação com o KILL
sinal). O programa é livre para captar e ignorar o TERM
sinal. Ele não precisa terminar se não quiser e pode ignorar completamente esse sinal.
O HUP
sinal (historicamente o "sinal de interrupção") geralmente é enviado a um programa para solicitar que ele reinicie e re-leia todas as suas configurações no processo. O comportamento real do programa depende da implementação específica do programa. Nem todos os programas são capturados HUP
e eles não são obrigados por convenção ou dogma. Por exemplo, o servidor da web Apache captura um HUP
sinal e relê todos os seus arquivos de configuração, mas não reinicia nenhum processo.
Se você deseja realmente encerrar os processos e não se preocupar se eles vão pegar e obedecer, o sinal usa o KILL
sinal. Não pode ser capturado ou ignorado e resulta no encerramento do processo.
Para uma boa revisão dos sinais POSIX disponíveis, consulte este artigo da Wikipedia .
#FAIL
pessoas que nunca lêem além das opções. Obrigado!
O -HUP
é o sinal de "desligar" que podem desencadear um aplicativo para cessar, lê-lo do arquivo de configuração, e, em seguida, começar de novo. Não é necessariamente melhor do que usá-lo sem.
killall Finder
e
killall -HUP Finder
São respeitosamente iguais. No OS X Finder será reiniciado, mas irá reler seu arquivo de configuração. Isso pode não ser realmente o caso se o aplicativo que está sendo executado não tiver a -HUP
função incorporada. Como o pôster anterior mencionou o Apache. Ele lê seus arquivos de configuração, mas não pode ser iniciado novamente.