「ucbps」コマンドを使用すると、すべてのPIDを取得できます
$ ucbps
Userid PID CPU % Mem % FD Used Server Port
=========================================================================
512 5783 2.50 16.30 350 managed1_adrrtwls02 61001
512 8896 2.70 21.10 393 admin_adrrtwls02 61000
512 9053 2.70 17.10 351 managed2_adrrtwls02 61002
このようにしたいのですが、どうすればいいのかわかりません
文字列に基づいて-9を削除する場合(最初に削除してみてください)、次のようなことができます。
ps axf | grep <process name> | grep -v grep | awk '{print "kill -9 " $1}'
これは、あなたが何を殺そうとしているのかを示し(非常に、非常に重要です)、実行するときにsh
にパイプします:
ps axf | grep <process name> | grep -v grep | awk '{print "kill -9 " $1}' | sh
pids=$(pgrep <name>)
指定された名前を持つすべてのプロセスのPIDを取得します。それらをすべて殺すには、
kill -9 $pids
変数の使用を控え、特定の名前の問題を持つすべてのプロセスを直接強制終了するには
pkill -9 <name>
一行で...
pgrep -f process_name | xargs kill -9
別の可能性は、ほとんどのディストリビューションに通常付属するpidof
を使用することです。名前を使用して、特定のプロセスのPIDを返します。
pidof process_name
この方法で、その情報を変数に保存し、kill -9
を実行できます。
#!/bin/bash
pid=`pidof process_name`
kill -9 $pid
grep [n] ameを使用して、そのgrep -v名を削除します... xargsを使用する方法は、rnuをパイプする方法に誤りがあります。-i(インタラクティブモード)コマンドに問題がある可能性があります。
ps axf | grep | grep -v grep | awk '{print "kill -9" $ 1}'? ps aux | grep [n] ame | awk '{print "kill -9" $ 2}'?良くない?