Які різні сигнали вбивства htop?


9

Нещодавно я почав використовувати htop, і мені потрібно було знищити процеси, але, натискаючи F9на процес, він дає мені цей список варіантів, я просто вибрав той, який вибрано за замовчуванням, але я не знаю, що це насправді так, хоча, здається, працює:

параметри сигналу htop

Тож справді моє запитання полягає в тому, що це за різні варіанти, і які найкраще використовувати для вбивства процесу?


Відповіді:


11

Спочатку спробуйте

SIGTERM      15       Term    Termination signal

якщо це не працює

SIGKILL       9       Term    Kill signal

З 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)

Це може бути переважніше використання SIGINT, яке схоже на натискання клавіш Ctrl + C і все ще дозволяє програмі закінчити впорядкованість. Я використовую його під час завершення роботи з оптимізацією за допомогою Gurobi: вона негайно зупиняє програму, але найкраще знайдене рішення все-таки записується у файл.
CGFoX

5

Це сигнали Процесу загалом, а не лише пов'язані з ними htop, ви можете перелічити всі сигнали за допомогою команди

kill -l

Наприклад джерело :

-1 або -HUP - Цей аргумент примушує kill надсилати сигнал "Повісити" процес. Це, ймовірно, походить із епохи модему / набору номера. Процеси повинні бути запрограмовані, щоб насправді слухати цей процес і щось робити з ним. Більшість демонів запрограмовані на повторне зчитування конфігурації при отриманні такого сигналу. Все одно; це, швидше за все, найбезпечніший сигнал вбивства, він нічого не повинен перешкоджати.

-2 або -SIGINT - Це те саме, що запускати якусь програму і натискати CTRL + C під час виконання. Більшість програм зупиняться, ви можете втратити дані.

-9 або -KILL - Ядро відпустить процес, не повідомивши про це процес. Нечисте вбивство, як це, може призвести до втрати даних. Це "найскладніший", "найжорсткіший" і найнебезпечніший доступний сигнал вбивства, і його слід використовувати лише для того, щоб зупинити щось, що здається невідступним.

-15 або -TERM - Скажіть процесу припинити все, що він робить, і закінчіть себе. Якщо ви не вказуєте жодного сигналу, цей сигнал використовується. Виконання має бути досить безпечним, але краще розпочати з "-1" або "-HUP".

Список із 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    |
 *  +--------------------+------------------+

далі читайте:


Зі списку у вас більшість із них виглядають однаково, тож які затримки між тими, хто, здається, робить те саме?

1
Кожен сигнал пастки таким чином відрізняється, але в результаті більшість робить те саме. Погляньте на посилання, а також на сторінку man для повної документації, адже ви можете написати книгу на кожен сигнал!
Maythux
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.