Name = exampleのプロセスは、次の方法で強制終了できます。
killall-9の例
スペースを含む次のコマンドの複数のインスタンスを強制終了するにはどうすればよいですか?
"valgrind --tool = lackey ./testcases/kernel/syscalls/waitpid/waitpid03"
次のコマンドはvalgrind --tool = lackey ./testcases/kernel/syscalls/waitpid/waitpid03を返します:そのようなファイルまたはディレクトリはありません ==
killall -9 "valgrind --tool = lackey ./testcases/kernel/syscalls/waitpid/waitpid03"
killall valgrind
は、引数に関係なく、すべてのvalgrind
プロセスを強制終了します。コマンドラインが正確にvalgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03
であるプロセスのみを強制終了する場合は、pkill
を使用できます。
pkill -xf 'valgrind --tool=lackey ./testcases/kernel/syscalls/waitpid/waitpid03'
killall
と同様に、pkill
はすべての非組み込み(および一部の組み込み)Linuxインストールにあり、より強力で、多くの場合、より信頼性があります(ただし、何らかの理由であまり知られていません)。コンパニオンユーティリティpgrep
は、強制終了する代わりにPIDを一覧表示することを除いて同じです。
興味があるかもしれない別のユーティリティはfuser
です:fuser testcases/kernel/syscalls/waitpid/waitpid03
は指定されたファイルが開いているプロセスをリストし、fuser -k
はこれらのプロセスにシグナルを送信します。シグナルを送信しようとしない場合、lsof
はfuser
のより強力な代替手段です(より多くのものを表示し、より多くのフィルターを備えています)。
killall
に完全なコマンドラインを指定する必要はありません。 killall valgrind
あなたの場合は十分でしょう。
~$ Perl -e 'sleep 10000' &
[1] 3586
~$ ps ax | grep Perl
3586 pts/3 S 0:00 Perl -e sleep 10000
3588 pts/3 S+ 0:00 grep Perl
~$ killall Perl
[1]+ Terminated Perl -e 'sleep 10000'
~$
他の優れたソリューションと同様に、いつでもhtopをインストールしてから、実行中のプロセスのリストをスクロールしてF9(kill)キーを使用することで、必要なものを強制終了できます。わかりました、それは難しいコマンドラインのものではありませんが、それは機能します!
killall valgrind
実際のvalgrind実行可能ファイルには別の名前があるため、通常は機能しません。この名前は、使用しているvalgrindツールに応じて、memcheck-AMD64-linuxなどになります。 psがプロセス名として報告するのは実行可能ファイル名ではなく、コマンドラインの最初のエントリです。これは混乱を引き起こします。これをpsmiscに報告しました: https://github.com/acg/psmisc/issues/1