/ / Zabite všetky procesy pre daného používateľa - pozícia

Zabite všetky procesy pre daného používateľa - posix

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ď č. 1

Len (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