Kill

為什麼如果我在 Ubuntu 20.04 中更改 procps 的 kill 命令的名稱(mv /usr/bin/kill /usr/bin/anotherkill),它會停止工作?

  • October 23, 2020

例如,如果我執行anotherkill -s 9 1234,我會收到以下錯誤消息:

技能:不支持“anotherkill”更多細節見技能(1)。

但是,上面引用的手冊頁沒有幫助。謝謝!!

PD:在 Fedora 32 中,如果此命令更改其名稱,則沒有問題。

那是因為命令kill和有一個單一的原始碼skill,即它們使用相同的二進製文件:

$ ls -l kill skill
-rwxr-xr-x 1 root root 30952 Feb 27  2020 kill
-rwxr-xr-x 1 root root 30952 Feb 27  2020 skill
$ cmp kill skill  
$ 

在執行時,執行的命令會查看它被呼叫的名稱並採取相應的行動。

當您使用程式碼不期望的名稱重命名命令時,行為未定義。

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