kill <pid>
와 의 차이점은 무엇입니까 kill -s TERM <pid>
? 처음에는 변수에 신호 번호가 포함되어 있다고 생각했지만 $TERM
TERM을 에코하면
$echo $TERM
xterm-256color
답변1
차이 없음. 에서 man kill
:
Kill의 기본 신호는 TERM입니다.
kill -s TERM <pid>
확실히TERM
그런 식으로 변수를 확장하세요 kill -s $TERM <pid>
. 문자열을 사용합니다 TERM
.
신호 번호와 이름 사이의 대응을 참조하십시오 man 7 signal
. 게다가,POSIX 사양kill
(이탤릭체는 광산),
-s signal_name은
<signal.h> 헤더에 정의된 기호 이름 중 하나를 사용하여 보낼 신호를 지정합니다.signal_name 값은 SIG 접두사 없이 대소문자 독립적 방식으로 식별되어야 합니다.. 또한 신호 값이 0임을 나타내는 기호 이름 0이 인식되어야 합니다. SIGTERM 대신 해당 신호를 보내야 합니다.
답변2
GNU coreutils kill
(내가 설치한 버전 8.32)에는 다음을 출력하는 --table
또는 옵션이 있습니다.-L
1 HUP Hangup: 1
2 INT Interrupt: 2
3 QUIT Quit: 3
4 ILL Illegal instruction: 4
5 TRAP Trace/BPT trap: 5
6 ABRT Abort trap: 6
7 EMT EMT trap: 7
8 FPE Floating point exception: 8
9 KILL Killed: 9
10 BUS Bus error: 10
11 SEGV Segmentation fault: 11
12 SYS Bad system call: 12
13 PIPE Broken pipe: 13
14 ALRM Alarm clock: 14
15 TERM Terminated: 15
16 URG Urgent I/O condition: 16
17 STOP Suspended (signal): 17
18 TSTP Suspended: 18
19 CONT Continued: 19
20 CHLD Child exited: 20
21 TTIN Stopped (tty input): 21
22 TTOU Stopped (tty output): 22
23 IO I/O possible: 23
24 XCPU Cputime limit exceeded: 24
25 XFSZ Filesize limit exceeded: 25
26 VTALRM Virtual timer expired: 26
27 PROF Profiling timer expired: 27
28 WINCH Window size changes: 28
29 INFO Information request: 29
30 USR1 User defined signal 1: 30
31 USR2 User defined signal 2: 31