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>ヘッダーで定義されているシンボル名の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