[問題] kill background job

看板Linux作者 (老千)時間11年前 (2014/10/12 20:28), 編輯推噓1(1014)
留言15則, 3人參與, 最新討論串1/1
大家好,剛接觸Linux不久, 目前練習到背景執行任務的部分。 我照著鳥哥的教學下了這一行指令 sudo kill -9 %2 但一直出現這個錯誤 kill: failed to parse argument: '%2' 想問一下這要怎麼解決?麻煩各位了,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 193.170.132.173 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1413116897.A.697.html

10/12 20:48, , 1F
你用哪種shell? 目前有job在實行嗎?
10/12 20:48, 1F

10/12 20:53, , 2F
一般 shell 環境下 kill 命令是 shell 本身內建命令
10/12 20:53, 2F

10/12 20:53, , 3F
所以正常當 job 執行的工作項目,用 kill %n 方式就可以
10/12 20:53, 3F

10/12 20:54, , 4F
若你當初已經用 sudo 方式跑了某個命令讓它背景運作
10/12 20:54, 4F

10/12 20:54, , 5F
kill %n 方式會出現權限不夠,但解決方式並不是直接
10/12 20:54, 5F

10/12 20:55, , 6F
使用 sudo kill %n 方式,因為 sudo 命令本身只能夠用來
10/12 20:55, 6F

10/12 20:55, , 7F
執行外部命令,所以實際 sudo 找到的是 /bin/kill 這類
10/12 20:55, 7F

10/12 20:56, , 8F
程式檔案了,而該外部程式檔案能夠支援只有傳入 pid
10/12 20:56, 8F

10/12 20:56, , 9F
也就是 process id,不能夠使用 shell job id 了
10/12 20:56, 9F

10/12 20:56, , 10F
若你是這類情況,你只能夠 ps aux 看看下該命令明確的
10/12 20:56, 10F

10/12 20:57, , 11F
pid 編號,使用 sudo kill <pid> 方式來達成目的需求
10/12 20:57, 11F

10/12 20:57, , 12F
結論就是,一旦你用到 sudo 要執行 kill 就得注意這些
10/12 20:57, 12F

10/12 20:57, , 13F
相關細節。
10/12 20:57, 13F

10/14 02:58, , 14F
感謝k大大,經過測試真的如你所說
10/14 02:58, 14F

10/14 02:59, , 15F
謝謝解釋的這麼仔細,學習到很多 ^^
10/14 02:59, 15F
文章代碼(AID): #1KEdFXQN (Linux)