Linux

Kill 命令的解碼標誌

  • November 25, 2018

我在一本用於 Linux shell 腳本的書上看到了這個命令

$ kill -HUP 1234 >killout.txt 2>killerr.txt

我知道該命令的作用,但我無法理解標誌**-HUP**

Linux下試試man 7 signal

kill -HUP 1234意思是“發送 SIGHUP 信號 (1) 到程序 1234”,所以它相當於kill -1 1234. kill 發送的預設信號是 SIGTERM (15),因此kill 1234等價於kill -TERM 1234or kill -15 1234

-HUP不是三個標誌H, U,P就像在常見的單字母選項語法中一樣。由於歷史原因,該kill命令採用可選的信號名稱或信號編號,前面帶有破折號 ( -)。

kill -1 1234
kill -HUP 1234

(與 相反kill 1 1234,它將預設信號(SIGTERM)發送到程序 1 和 1234。)

您的手冊頁可能會列出如下內容:

kill [ -signal | -s signal ] pid ...

-signal意味著您可以使用破折號後跟信號名稱(可以是名稱或數字)。或者,您可以使用-s後跟信號名稱的選項;這是具有相同含義的兩種不同語法。

kill -l列出可用的信號名稱和相應的編號。

大多數信號都具有預定義的含義,具體取決於誰在何時以及如何假定流程對它們做出反應。

引用自:https://unix.stackexchange.com/questions/74775