Portál AbcLinuxu, 8. května 2025 15:03
root 6097 4.1 1.6 35568 29888 tty7 SLs+ 01:13 0:12 /usr/bin/X :0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7 root 6101 0.2 1.0 23576 18948 tty9 SLs+ 01:13 0:00 /usr/bin/X1 :1 -sharevts -layout seat1 -novtswitch -br -audit 0 -nolisten tcp -novtswitch -auth /var/lib/gdm/:1.Xauth -nolisten tcp vt9Pokud zadám
killall /usr/bin/X
nebo killall /usr/bin/X1
, tak se nic nestane.
Chtěl jsem to teda udělat např. pomocí AWK, ale nějak se s tím nemůžu popasovat.
Takový nástřel byl:
ps aux | grep "/usr/bin/X" | grep root | awk '{print $2}'. Výstup tohoto příkazu je např:
6097 6101, ale nedaří se mi to dostat do
kill -9
(vždy to vezme jen první proces)
Na tohle je urcena utilitka xargs, takze by to melo jit necim jako :
ps aux | grep "/usr/bin/X" | grep root | awk '{print $2}' | xargs kill
nepovedlo se mi tam ale propasovat prepinac -9, i tak to ale snad pomuze
pripadne se mrkni na:
man pkill
je tam moznost killnout procesy urciteho uzivatele a killnout proces jehoz jmeno odpovida predloze
for process_id in `pgrep pattern` ; do pkill "${process_id}" ; done
S timhle neumuzu souhlasit - jeden prikaz pkill pouzivam pravidelne k zabiti radove stovek procesu (teda alespon na Linuxu - CENTOS 5.2 a RHEL AS 4.6), pr:
$ sleep 3600 &
$ sleep 3600 &
$ sleep 3600 &
$ sleep 3600 &
$ ps -ef | grep sleep
chocholj 11815 11704 0 09:53 pts/18 00:00:00 sleep 3600
chocholj 11816 11704 0 09:53 pts/18 00:00:00 sleep 3600
chocholj 11817 11704 0 09:53 pts/18 00:00:00 sleep 3600
chocholj 11818 11704 0 09:53 pts/18 00:00:00 sleep 3600
chocholj 11820 11704 0 09:53 pts/18 00:00:00 grep sleep
$ pkill -9 sleep
[2] Killed sleep 3600
[3]- Killed sleep 3600
[4]+ Killed sleep 3600
[1]+ Killed sleep 3600
$ ps -ef | grep sleep
chocholj 11823 11704 0 09:53 pts/18 00:00:00 grep sleep
Jinak pokud to chcete pouzit pres ps a xargs tak tohle by melo fungovat:
ps aux | grep "/usr/bin/X" | grep root | awk '{print $2}' | xargs kill -9
, ale nedaří se mi to dostat do kill -9 (vždy to vezme jen první proces)Tak robíš niečo zle. Pretože kill rozhodne vie zabiť viacero procesov naraz:
pid...
Specify the list of processes that kill should signal.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.