Quais são os diferentes sinais de htop kill?

9

Recentemente, comecei a usar htope precisava interromper processos, mas ao pressionar F9o processo, ele me deu essa lista de opções, apenas escolhi a que é selecionada por padrão, mas não sei o que isso realmente funciona, embora pareça funcionar:

opções de sinal htop

Então, realmente, minha pergunta é: quais são essas opções diferentes e qual é a melhor opção para matar um processo?

Maythux
fonte
Pergunta relacionada no Unix.SE: Por que a chamada de sistema UNIX kill é chamada de 'kill'?
58516 gronostaj

Respostas:

11

Primeira tentativa

SIGTERM      15       Term    Termination signal

se isso não funcionar

SIGKILL       9       Term    Kill signal

De man 7 signal

First the signals described in the original POSIX.1-1990 standard.

Signal     Value     Action   Comment
──────────────────────────────────────────────────────────────────────
SIGHUP        1       Term    Hangup detected on controlling terminal
                              or death of controlling process
SIGINT        2       Term    Interrupt from keyboard
SIGQUIT       3       Core    Quit from keyboard
SIGILL        4       Core    Illegal Instruction
SIGABRT       6       Core    Abort signal from abort(3)
SIGFPE        8       Core    Floating point exception
SIGKILL       9       Term    Kill signal
SIGSEGV      11       Core    Invalid memory reference
SIGPIPE      13       Term    Broken pipe: write to pipe with no
                              readers
SIGALRM      14       Term    Timer signal from alarm(2)
SIGTERM      15       Term    Termination signal
SIGUSR1   30,10,16    Term    User-defined signal 1
SIGUSR2   31,12,17    Term    User-defined signal 2
SIGCHLD   20,17,18    Ign     Child stopped or terminated
SIGCONT   19,18,25    Cont    Continue if stopped
SIGSTOP   17,19,23    Stop    Stop process
SIGTSTP   18,20,24    Stop    Stop typed at terminal
SIGTTIN   21,21,26    Stop    Terminal input for background process
SIGTTOU   22,22,27    Stop    Terminal output for background process

The signals SIGKILL and SIGSTOP cannot be caught, blocked, or
ignored.

Next the signals not in the POSIX.1-1990 standard but described in
SUSv2 and POSIX.1-2001.

Signal       Value     Action   Comment
────────────────────────────────────────────────────────────────────
SIGBUS      10,7,10     Core    Bus error (bad memory access)
SIGPOLL                 Term    Pollable event (Sys V).
                                Synonym for SIGIO
SIGPROF     27,27,29    Term    Profiling timer expired
SIGSYS      12,31,12    Core    Bad argument to routine (SVr4)
SIGTRAP        5        Core    Trace/breakpoint trap
SIGURG      16,23,21    Ign     Urgent condition on socket (4.2BSD)
SIGVTALRM   26,26,28    Term    Virtual alarm clock (4.2BSD)
SIGXCPU     24,24,30    Core    CPU time limit exceeded (4.2BSD)
SIGXFSZ     25,25,31    Core    File size limit exceeded (4.2BSD)
AB
fonte
Pode ser preferível usar SIGINT, o que é semelhante a pressionar Ctrl + C e ainda permite que o programa termine em ordem. Eu o uso ao encerrar a otimização executada usando o Gurobi: Ele interrompe imediatamente o programa, mas a melhor solução encontrada ainda está gravada no arquivo.
CGFoX
5

Esses são sinais de processo em geral e não apenas relacionados a htop: você pode listar todos os sinais usando o comando

kill -l

Por exemplo, fonte :

-1 ou -HUP - Esse argumento faz com que o kill envie o sinal "Desligar" para os processos. Provavelmente, isso se origina da era do modem / discagem. Os processos precisam ser programados para realmente ouvir esse processo e fazer algo com ele. A maioria dos daemons é programada para reler sua configuração quando recebe esse sinal. De qualquer forma; é provavelmente o sinal de morte mais seguro que existe, não deve obstruir nada.

-2 ou -SIGINT - É o mesmo que iniciar um programa e pressionar CTRL + C durante a execução. A maioria dos programas para, você pode perder dados.

-9 ou -KILL - O kernel abandonará o processo sem informar o processo. Uma morte imunda como essa pode resultar em perda de dados. Este é o sinal de morte "mais difícil", "mais difícil" e mais inseguro disponível, e só deve ser usado para parar algo que parece imparável.

-15 ou -TERM - Diga ao processo para parar o que estiver fazendo e terminar sozinho. Quando você não especifica nenhum sinal, esse sinal é usado. Deve ser bastante seguro de executar, mas é melhor começar com um "-1" ou "-HUP".

A lista do signal.harquivo:

+--------------------+------------------+
 *  |  POSIX signal      |  default action  |
 *  +--------------------+------------------+
 *  |  SIGHUP            |  terminate   |
 *  |  SIGINT            |  terminate   |
 *  |  SIGQUIT           |  coredump    |
 *  |  SIGILL            |  coredump    |
 *  |  SIGTRAP           |  coredump    |
 *  |  SIGABRT/SIGIOT    |  coredump    |
 *  |  SIGBUS            |  coredump    |
 *  |  SIGFPE            |  coredump    |
 *  |  SIGKILL           |  terminate(+)    |
 *  |  SIGUSR1           |  terminate   |
 *  |  SIGSEGV           |  coredump    |
 *  |  SIGUSR2           |  terminate   |
 *  |  SIGPIPE           |  terminate   |
 *  |  SIGALRM           |  terminate   |
 *  |  SIGTERM           |  terminate   |
 *  |  SIGCHLD           |  ignore      |
 *  |  SIGCONT           |  ignore(*)   |
 *  |  SIGSTOP           |  stop(*)(+)      |
 *  |  SIGTSTP           |  stop(*)     |
 *  |  SIGTTIN           |  stop(*)     |
 *  |  SIGTTOU           |  stop(*)     |
 *  |  SIGURG            |  ignore      |
 *  |  SIGXCPU           |  coredump    |
 *  |  SIGXFSZ           |  coredump    |
 *  |  SIGVTALRM         |  terminate   |
 *  |  SIGPROF           |  terminate   |
 *  |  SIGPOLL/SIGIO     |  terminate   |
 *  |  SIGSYS/SIGUNUSED  |  coredump    |
 *  |  SIGSTKFLT         |  terminate   |
 *  |  SIGWINCH          |  ignore      |
 *  |  SIGPWR            |  terminate   |
 *  |  SIGRTMIN-SIGRTMAX |  terminate       |
 *  +--------------------+------------------+
 *  |  non-POSIX signal  |  default action  |
 *  +--------------------+------------------+
 *  |  SIGEMT            |  coredump    |
 *  +--------------------+------------------+

leia mais:

Maythux
fonte
Na lista, a maioria deles parece a mesma; então, quais são as diferenças entre as que parecem fazer a mesma coisa?
1
Cada sinal de armadilha, por sua vez, é a diferença, mas o resultado é o mesmo. dê uma olhada nas referências, além da página de manual para obter a documentação completa; de fato, você pode escrever um livro em cada sinal!
Maythux 04/07/2015