Pertanyaan Apa saja sinyal htop kill yang berbeda?


Saya baru mulai menggunakan htop, dan saya telah perlu untuk membunuh proses, tetapi ketika menekan F9 pada prosesnya, itu telah memberi saya daftar opsi ini, saya hanya memilih yang dipilih secara default, tetapi saya tidak tahu apa yang sebenarnya, meskipun tampaknya berfungsi:

htop signal options

Jadi pertanyaan saya adalah, apa saja pilihan yang berbeda ini, dan mana yang terbaik untuk digunakan untuk membunuh suatu proses?


9
2017-07-04 12:39


asal


Pertanyaan terkait pada Unix.SE: Mengapa sistem UNIX memanggil kill bernama 'kill'? - gronostaj


Jawaban:


Percobaan pertama

SIGTERM      15       Term    Termination signal

jika ini tidak berhasil

SIGKILL       9       Term    Kill signal

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

10
2017-07-04 12:44



Ini bisa lebih disukai untuk digunakan SIGINT, yang mirip dengan menekan Ctrl + C dan tetap membiarkan program selesai dengan teratur. Saya menggunakannya ketika mengakhiri optimasi berjalan menggunakan Gurobi: Ini segera menghentikan program tetapi solusi terbaik yang ditemukan masih ditulis ke file. - CGFoX


Itu adalah sinyal Proses secara umum dan tidak hanya terkait htop, Anda dapat mendaftarkan semua sinyal menggunakan perintah

kill -l

Sebagai contohsumber :

-1 atau -HUP - Argumen ini membuat kill mengirim sinyal "Hang Up" ke proses. Ini mungkin berasal dari era modem / dial-in.   Proses harus diprogram untuk benar-benar mendengarkan proses ini dan   lakukan sesuatu dengannya. Kebanyakan daemon diprogram untuk membaca ulang   konfigurasi ketika mereka menerima sinyal seperti itu. Bagaimanapun; ini sangat   kemungkinan sinyal membunuh paling aman yang ada, seharusnya tidak menghalangi   apa pun.

-2 atau -SIGINT - Ini sama dengan memulai beberapa program dan menekan CTRL + C selama eksekusi. Sebagian besar program akan berhenti, Anda bisa kehilangan data.

-9 atau -KILL - Kernel akan melepaskan proses tanpa memberitahukan prosesnya. Pembunuhan yang najis seperti ini bisa menghasilkan data   kerugian. Ini adalah sinyal kill yang "paling keras", "paling kasar" dan paling tidak aman   tersedia, dan seharusnya hanya digunakan untuk menghentikan sesuatu yang tampaknya   tak terhentikan.

-15 atau -TERM - Katakan proses untuk menghentikan apa pun yang dilakukannya, dan akhiri sendiri. Ketika Anda tidak menentukan sinyal apa pun, sinyal ini digunakan. Saya t   harus cukup aman untuk dilakukan, tetapi lebih baik mulai dengan "-1" atau   "-MEMPERCEPATKAN".

Daftar dari signal.h mengajukan:

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

baca lebih lanjut:


5
2017-07-04 12:46



Dari daftar, kebanyakan dari mereka terlihat sama, jadi apa perbedaan antara yang tampaknya melakukan hal yang sama?
Setiap sinyal jebakan dengan cara itulah perbedaan tetapi dalam hasil yang paling melakukan hal yang sama. Lihatlah referensi, ditambah halaman manual untuk dokumentasi lengkap, memang Anda dapat menulis buku tentang setiap sinyal! - Maythux