特定のPIDを超えるすべてのルートプロセスを強制終了する

特定のPIDを超えるすべてのルートプロセスを強制終了する

ルートで自分のものではないすべてのプロセスを終了したいのですが、次のようになります:

sudo pkill -u root

しかし... まあ、それは、何というか、コンピュータ全体をクラッシュさせてしまいます。そのため、3000 より大きい pid を持つすべてのルート プロセスを強制終了する方法が必要です (そして、自分のプロセスと比較して、自分自身を強制終了しないようにします)。おそらく次のようなものを使用する必要があると思います。

sudo pkill -u root $(pgrep ...)

しかし、自分のものと比較しながら、実際にそれをするにはどうすればいいのでしょうか。プログラムでできるでしょうか? 何かアイデアはありますか?

答え1

これはあなたが望むようなことをするはずです。先日、似たようなものを使用しました。

for p in `ps -ef | grep ^root | grep -v grep | awk '{ print $2}' | sort -n`; do if ($p -gt 3000); then kill -9 $p;fi; done

関連情報