Centos 7 で `user` が所有するすべてのプロセスを強制終了するにはどうすればいいですか?

Centos 7 で `user` が所有するすべてのプロセスを強制終了するにはどうすればいいですか?

オンラインのフラッシュカードで、コマンドは次の通りだと読みました。

pkill -u bob $(pgrep -u bob)

しかし、これは間違っていると思います。次のように言っていると思います。

が所有するプロセスをすべて終了しbob4572\n4600

なぜなら:

[bob@localhost ~]$ pgrep -u bob
4572
4600

また、エラーが発生します:

[bob@localhost ~]$ pkill -u bob $(pgrep -u bob)
pkill: only one pattern can be provided
Try `pkill --help' for more information.

ユーザー名に改行を入れることはできないので、これは理にかなっていますよね?

コマンドは次のようになると思います:

pkill -u bob

「bobが所有するすべてのプロセスを強制終了する」

コマンド:

pgreg -u bob 

「bobが所有するすべてのプロセス」を返します

不思議なんだけど:

  • 意図したとおりに正しいコマンドを使用していますか?
  • 間違った方法の私の分析は正確でしょうか?

答え1

あなたは正しいです

間違っている: pkill -u bob $(pgrep -u bob)

正しい:pkill -u bob


フラッシュカードはおそらく次のことを示すことを意図しています:

kill $(pgrep -u bob)

これにより、 によって返されたすべてのプロセスが強制終了されますpgrep -u bob

関連情報