죽이는 것과 죽이는 것의 차이그리고 kill -s TERM

죽이는 것과 죽이는 것의 차이그리고 kill -s TERM

kill <pid>와 의 차이점은 무엇입니까 kill -s TERM <pid>? 처음에는 변수에 신호 번호가 포함되어 있다고 생각했지만 $TERMTERM을 에코하면

$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

관련 정보