殺すことと殺すことの違いそして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>ヘッダーで定義されているシンボル名の1つを使用して送信する信号を指定します。signal_nameの値は、SIGプレフィックスなしで大文字と小文字を区別しないように識別する必要があります。。また、信号値がゼロであることを示すシンボル名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

関連情報