Às vezes, quando estou executando um killallcomando do Terminal, um colega de trabalho sugere ou edita meus scripts para mostrar killall -HUP.
O que a -HUPpeça faz?
Às vezes, quando estou executando um killallcomando do Terminal, um colega de trabalho sugere ou edita meus scripts para mostrar killall -HUP.
O que a -HUPpeça faz?
Respostas:
A -HUPopção é o sinal enviado aos processos pelo killallcomando. Pode ser um pouco difícil de dizer, mas a entrada relevante no killallmanual é:
-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 TERMsinal padrão que killallenvia e o HUPsinal 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 TERMsinal (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 KILLsinal). O programa é livre para captar e ignorar o TERMsinal. Ele não precisa terminar se não quiser e pode ignorar completamente esse sinal.
O HUPsinal (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 HUPe eles não são obrigados por convenção ou dogma. Por exemplo, o servidor da web Apache captura um HUPsinal 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 KILLsinal. 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 .
#FAILpessoas 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 -HUPfunção incorporada. Como o pôster anterior mencionou o Apache. Ele lê seus arquivos de configuração, mas não pode ser iniciado novamente.