Existuje spoľahlivý spôsob, ako zabiť všetky procesy daného používateľa? kill(-1, SIGKILL)
pretože tento používateľ bude fungovať, pokiaľ nečestný proces tohto používateľa zabije najprv proces zabíjania. Najlepšie, čo môžem zatiaľ nájsť, je to, aby som prešiel system("ps -u")
pre tohto používateľa a zabíjať procesy týmto spôsobom, ale zdá sa, že je to skutočne hackerské a neefektívne.
EDIT: Aby som to objasnil, žiadam konkrétne riešenie kompatibilné s POSIXom. Z nejakého dôvodu som si myslel, že označenie otázky by to vložilo do názvu.
odpovede:
80 pre odpoveď č. 1Len (dočasne) som zabil môj Macbook
killall -u pu -m .
kde pu je môj userid. Sledujte bodku na konci príkazu.
Skúste tiež
pkill -u pu
alebo
ps -o pid -u pu | xargs kill -1
34 pre odpoveď č. 2
Tu je jeden parník, ktorý to robí, stačí nahradiť používateľské meno používateľským menom, pre ktoré chcete veci zabiť. Nemysli ani na to, že tam budeš zakorenený!
pkill -9 -u `id -u username`
Poznámka: ak chcete byť pekné odstrániť -9, ale nezabije všetky druhy procesov.
5 pre odpoveď č. 3
V Debiane LINUX používam: ps -o pid= -u username | xargs sudo kill -9
.
s -o pid=
hlavička ps sa potlačí a výstupom je iba zoznam pid. Pokiaľ viem, Debian shell je kompatibilný s POSIX.
1 pre odpoveď č. 4
A čo iterácia vo virtuálnom súborovom systéme / proc? http://linux.die.net/man/5/proc ?
1 pre odpoveď č. 5
Nasledujúce zabíja všetky procesy vytvorené týmto používateľom:
kill -9 -1