Các tín hiệu tiêu diệt htop khác nhau là gì?


9

Gần đây tôi đã bắt đầu sử dụng htopvà tôi cần phải giết các quy trình, nhưng khi nhấn F9vào quy trình, nó đã đưa cho tôi danh sách các tùy chọn này, tôi chỉ chọn một tùy chọn được chọn theo mặc định, nhưng tôi không biết điều đó thực sự có, mặc dù nó có vẻ hoạt động:

tùy chọn tín hiệu htop

Vì vậy, thực sự câu hỏi của tôi là, những lựa chọn khác nhau này là gì, và cách nào là tốt nhất để sử dụng để giết một quá trình?


Câu trả lời:


11

Lần thử đầu tiên

SIGTERM      15       Term    Termination signal

nếu điều này không làm việc

SIGKILL       9       Term    Kill signal

Từ 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)

Nó có thể được sử dụng tốt hơn SIGINT, tương tự như nhấn Ctrl + C và vẫn cho phép chương trình kết thúc có trật tự. Tôi sử dụng nó khi chấm dứt tối ưu hóa chạy bằng Gurobi: Nó ngay lập tức dừng chương trình nhưng giải pháp tìm thấy tốt nhất vẫn được ghi vào tệp.
CGFoX

5

Đó là các tín hiệu Quá trình nói chung và không chỉ liên quan đến htop, bạn có thể liệt kê tất cả các tín hiệu bằng lệnh

kill -l

Ví dụ nguồn :

-1 hoặc -HUP - Đối số này làm cho kill gửi tín hiệu "Hang Up" tới các tiến trình. Điều này có lẽ bắt nguồn từ thời đại modem / quay số. Các quy trình phải được lập trình để thực sự lắng nghe quy trình này và làm một cái gì đó với nó. Hầu hết các trình tiện ích được lập trình để đọc lại cấu hình của chúng khi chúng nhận được tín hiệu như vậy. Dù sao; đây rất có thể là tín hiệu tiêu diệt an toàn nhất, nó không nên cản trở bất cứ điều gì.

-2 hoặc -SIGINT - Điều này giống như bắt đầu một số chương trình và nhấn CTRL + C trong khi thực hiện. Hầu hết các chương trình sẽ dừng lại, bạn có thể mất dữ liệu.

-9 hoặc -KILL - Hạt nhân sẽ bỏ qua quá trình mà không thông báo cho quá trình của nó. Một vụ giết người ô uế như thế này có thể dẫn đến mất dữ liệu. Đây là tín hiệu tiêu diệt "khó nhất", "thô bạo nhất" và không an toàn nhất hiện có, và chỉ nên được sử dụng để ngăn chặn thứ gì đó dường như không thể ngăn chặn.

-15 hoặc -TERM - Nói cho quá trình dừng mọi việc đang làm và tự kết thúc. Khi bạn không chỉ định bất kỳ tín hiệu nào, tín hiệu này sẽ được sử dụng. Nó khá an toàn để thực hiện, nhưng tốt hơn là bắt đầu bằng "-1" hoặc "-HUP".

Danh sách từ signal.htập tin:

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

đọc thêm:


Từ danh sách bạn có hầu hết chúng trông giống nhau, vậy đâu là sự khác biệt giữa những thứ dường như làm cùng một thứ?

1
Mỗi tín hiệu bẫy bằng cách đó là sự khác biệt nhưng kết quả là hầu hết đều làm như vậy. hãy xem các tài liệu tham khảo, cộng với trang hướng dẫn để có tài liệu đầy đủ, thực sự bạn có thể viết một cuốn sách về mỗi tín hiệu!
Maythux 04/07/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.