Quali sono i diversi segnali di kill htop?


9

Di recente ho iniziato a utilizzare htope ho avuto bisogno di terminare i processi, ma quando ho premuto F9il processo, mi ha dato questo elenco di opzioni, ho appena scelto quello che è selezionato per impostazione predefinita, ma non so cosa che effettivamente funziona, anche se sembra funzionare:

opzioni del segnale htop

Quindi davvero la mia domanda è: quali sono queste diverse opzioni e quale è meglio usare per terminare un processo?


Risposte:


11

Primo tentativo

SIGTERM      15       Term    Termination signal

se questo non funziona

SIGKILL       9       Term    Kill signal

A partire dal 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)

Può essere preferibile usare SIGINT, che è simile a premere Ctrl + C e lascia comunque che il programma finisca in modo ordinato. Lo uso quando si termina l'ottimizzazione con Gurobi: interrompe immediatamente il programma ma la soluzione più efficace viene ancora scritta su file.
CGFoX,

5

Questi sono segnali di processo in generale e non solo correlati htop, è possibile elencare tutti i segnali utilizzando il comando

kill -l

Ad esempio fonte :

-1 o -HUP - Questo argomento fa sì che kill invii il segnale "Hang Up" ai processi. Questo probabilmente proviene dall'era del modem / dial-in. I processi devono essere programmati per ascoltare effettivamente questo processo e fare qualcosa con esso. La maggior parte dei demoni sono programmati per rileggere la loro configurazione quando ricevono tale segnale. Comunque; questo è molto probabilmente il segnale di uccisione più sicuro che ci sia, non dovrebbe ostruire nulla.

-2 o -SIGINT - È lo stesso che avviare un programma e premere CTRL + C durante l'esecuzione. La maggior parte dei programmi si fermerà, potresti perdere dati.

-9 o -KILL - Il kernel lascerà andare il processo senza informarne il processo. Un'uccisione impura come questa potrebbe causare la perdita di dati. Questo è il segnale di uccisione "più difficile", "più ruvido" e più pericoloso disponibile e dovrebbe essere usato solo per fermare qualcosa che sembra inarrestabile.

-15 o -TERM - Di 'al processo di interrompere qualunque cosa stia facendo e di terminare se stesso. Quando non si specifica alcun segnale, viene utilizzato questo segnale. Dovrebbe essere abbastanza sicuro da eseguire, ma meglio iniziare con un "-1" o "-HUP".

L'elenco dal signal.hfile:

+--------------------+------------------+
 *  |  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    |
 *  +--------------------+------------------+

leggi ancora:


Dall'elenco hai la maggior parte di loro lo stesso aspetto, quindi quali sono le differenze tra quelli che sembrano fare la stessa cosa?

1
Ogni segnale trappola a modo suo è la differenza, ma di conseguenza la maggior parte fa lo stesso. dai un'occhiata ai riferimenti, oltre alla pagina man per la documentazione completa, infatti puoi scrivere un libro su ogni segnale!
Maythux,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.