최근에을 사용하기 시작했고 htop
프로세스를 종료해야했지만 프로세스를 누를 때이 F9옵션 목록이 표시되어 기본적으로 선택된 옵션을 선택했지만 무엇을 알지 못합니다. 실제로 작동하지만 작동합니다.
정말 내 질문은, 이러한 다른 옵션은 무엇이며 프로세스를 종료하는 데 가장 적합한 방법은 무엇입니까?
답변
첫 시도
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)
답변
이것들은 일반적으로 프로세스 신호이며 관련이 아니라 htop
명령을 사용하여 모든 신호를 나열 할 수 있습니다
kill -l
예를 들어 source :
-1 또는 -HUP-이 인수는 kill이 “Hang Up”신호를 프로세스로 보냅니다. 이것은 아마도 모뎀 / 다이얼 시대에서 비롯된 것입니다. 이 프로세스를 실제로 듣고 처리하도록 프로세스를 프로그래밍해야합니다. 대부분의 데몬은 그러한 신호를받을 때 구성을 다시 읽도록 프로그래밍되어 있습니다. 어쨌든; 이것은 가장 안전한 킬 신호일 가능성이 높습니다.
-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 |
* +--------------------+------------------+
더 읽을 :
man signal
,man 2 signal
,man 7 signal
,man kill
- http://man7.org/linux/man-pages/man7/signal.7.html
- http://lasr.cs.ucla.edu/vahab/resources/signals.html
- http://www.linuxprogrammingblog.com/all-about-linux-signals