Debian跟BSD上類似killall5的指令? - Linux

By Agatha
at 2011-10-12T05:20
at 2011-10-12T05:20
Table of Contents
我偶爾會在SSH遠端伺服器用到killall5這個指令
(killall5的man page摘要:
killall5 is the SystemV killall command. It sends a signal to all processes
except kernel threads and the processes in its own session, so it won't kill
the shell that is running the script it was called from. Its primary (only)
use is in the rc scripts found in the /etc/init.d directory.)
我用killall5的目的是砍光"top -u `whoami`"顯示的所有process
(使用killall5後同時SSH連線也會斷掉, 不過對我來說沒差)
但killall5這個指令不是每個distro都有(像Debian(wheezy/sid)跟FreeBSD就沒有)
請問該如何用其他指令湊出killall5的功能呢?
我自己亂試了很多種 不過都失敗
例如
killall -u $USER
pkill -u $USER
(...下略十幾種不同的寫法)
基本上"失敗"的原因都是一樣的 說明如下
假設原本"top -u `whoami`"的process pid清單長這樣:
123
456
789
假設123是SSH連線後得到的shell(bash)
456跟789是我想要砍掉的process
此時若使用killall5 則3個process都會被砍掉
(雖然123也被砍掉了導致我SSH斷線
不過沒差 再SSH過去就好了 重點是456跟789一定要砍乾淨)
然而若用我亂湊的"pkill -u $USER"之類的指令
123被砍掉後SSH會斷線 但456跟789還活著(也就是沒有達到我的要求)
也就是說若遇到遠端伺服器沒有killall5的情況
我就只能top -u $USER然後一個process一個process慢慢砍(k pid signal)
(456跟789只是舉例 實際上要砍的process通常都十幾個 打pid會打到手軟)
總結我的問題如下:
a) 如何用其他指令湊出跟killall5相同的功能?
b) 湊出來的指令要可在Linux及FreeBSD使用
歡迎提供任何想法 感激不盡!
--
(killall5的man page摘要:
killall5 is the SystemV killall command. It sends a signal to all processes
except kernel threads and the processes in its own session, so it won't kill
the shell that is running the script it was called from. Its primary (only)
use is in the rc scripts found in the /etc/init.d directory.)
我用killall5的目的是砍光"top -u `whoami`"顯示的所有process
(使用killall5後同時SSH連線也會斷掉, 不過對我來說沒差)
但killall5這個指令不是每個distro都有(像Debian(wheezy/sid)跟FreeBSD就沒有)
請問該如何用其他指令湊出killall5的功能呢?
我自己亂試了很多種 不過都失敗
例如
killall -u $USER
pkill -u $USER
(...下略十幾種不同的寫法)
基本上"失敗"的原因都是一樣的 說明如下
假設原本"top -u `whoami`"的process pid清單長這樣:
123
456
789
假設123是SSH連線後得到的shell(bash)
456跟789是我想要砍掉的process
此時若使用killall5 則3個process都會被砍掉
(雖然123也被砍掉了導致我SSH斷線
不過沒差 再SSH過去就好了 重點是456跟789一定要砍乾淨)
然而若用我亂湊的"pkill -u $USER"之類的指令
123被砍掉後SSH會斷線 但456跟789還活著(也就是沒有達到我的要求)
也就是說若遇到遠端伺服器沒有killall5的情況
我就只能top -u $USER然後一個process一個process慢慢砍(k pid signal)
(456跟789只是舉例 實際上要砍的process通常都十幾個 打pid會打到手軟)
總結我的問題如下:
a) 如何用其他指令湊出跟killall5相同的功能?
b) 湊出來的指令要可在Linux及FreeBSD使用
歡迎提供任何想法 感激不盡!
--
Tags:
Linux
All Comments

By Edith
at 2011-10-13T19:57
at 2011-10-13T19:57

By Brianna
at 2011-10-15T22:42
at 2011-10-15T22:42

By Enid
at 2011-10-20T12:06
at 2011-10-20T12:06

By Necoo
at 2011-10-22T13:37
at 2011-10-22T13:37

By Yedda
at 2011-10-26T18:17
at 2011-10-26T18:17

By Leila
at 2011-10-30T17:23
at 2011-10-30T17:23

By Gary
at 2011-11-01T17:36
at 2011-11-01T17:36

By Edward Lewis
at 2011-11-04T10:15
at 2011-11-04T10:15

By Enid
at 2011-11-07T23:03
at 2011-11-07T23:03

By Daph Bay
at 2011-11-11T20:23
at 2011-11-11T20:23
Related Posts
Debian和OpenSUSE的抉擇問題

By Genevieve
at 2011-10-11T21:39
at 2011-10-11T21:39
不是 root 要如何 mount ISO 檔?

By Ida
at 2011-10-11T19:59
at 2011-10-11T19:59
連不上xrdp server

By Todd Johnson
at 2011-10-10T16:24
at 2011-10-10T16:24
ubuntu mysql tracking

By Lydia
at 2011-10-10T15:47
at 2011-10-10T15:47
請問如何燒錄CentOS 5.7

By Mia
at 2011-10-10T15:44
at 2011-10-10T15:44