J'ai récemment commencé à utiliser htop
et j'ai eu besoin de tuer des processus, mais en appuyant sur F9 sur le processus, il m’a donné cette liste d’options, j’ai juste choisi celle qui est sélectionnée par défaut, mais je ne sais pas ce que cela fait réellement, bien que cela semble fonctionner:
Ma question est donc la suivante: quelles sont ces différentes options et quelle est la meilleure méthode pour éliminer un processus?
Premier essai
SIGTERM 15 Term Termination signal
si ça ne marche pas
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)
Ce sont des signaux de processus en général et pas seulement liés à htop
, vous pouvez lister tous les signaux en utilisant la commande
kill -l
Par exemplesource :
-1 ou -HUP - Cet argument fait que kill envoie le signal "Raccrocher" aux processus. Cela provient probablement de l'ère du modem/dial-in. Les processus doivent être programmés pour réellement écouter ce processus et en faire quelque chose. La plupart des démons sont programmés pour relire leur configuration lorsqu'ils reçoivent un tel signal. En tous cas; c’est très probablement le signal de mise à mort le plus sûr qui existe, il ne doit gêner rien.
-2 ou -SIGINT - Cela revient à lancer un programme et à appuyer sur CTRL + C pendant l'exécution. La plupart des programmes s’arrêteront, vous pourriez perdre des données.
-9 ou -KILL - Le noyau abandonnera le processus sans en informer le processus. Une telle destruction malpropre pourrait entraîner une perte de données. Il s’agit du signal de neutralisation "le plus dur", "le plus brutal" et le plus dangereux disponible, et ne doit être utilisé que pour arrêter quelque chose qui semble imparable.
-15 ou -TERM - Indiquez au processus d'arrêter ce qu'il est en train de faire et de finir lui-même. Lorsque vous ne spécifiez aucun signal, ce signal est utilisé. Cela devrait être assez sûr, mais mieux vaut commencer par "-1" ou "-HUP".
La liste du fichier signal.h
:
+--------------------+------------------+
* | 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 |
* +--------------------+------------------+
lire plus loin:
man signal
, man 2 signal
, man 7 signal
, man kill