killしたいプロセスが複数個あって、これらを迅速にkillしたい。まずはpgrepでプロセスのフィルタリングを行う。-lはマッチしたプロセスを表示するので、確認に便利。-fはコマンドライン全体にマッチさせる。マッチは正規表現が使える。例えば、以下のような場合、
$ pgrep -lf 'hoge' 2112 /usr/bin/time xargs -a argv.txt -n2 -0 -P32 -r /************************/hoge 2113 xargs -a argv.txt -n2 -0 -P32 -r /************************/hoge 2114 /************************/hoge ******** 0x53-0x39/0x20.txt 2115 /************************/hoge ******** 0x53-0x39/0x21.txt 2116 /************************/hoge ******** 0x53-0x39/0x22.txt 2117 /************************/hoge ******** 0x53-0x39/0x23.txt 2118 /************************/hoge ******** 0x53-0x39/0x24.txt 2119 /************************/hoge ******** 0x53-0x39/0x25.txt 2120 /************************/hoge ******** 0x53-0x39/0x26.txt 2121 /************************/hoge ******** 0x53-0x39/0x27.txt 2122 /************************/hoge ******** 0x53-0x39/0x28.txt 2123 /************************/hoge ******** 0x53-0x39/0x29.txt 2124 /************************/hoge ******** 0x53-0x39/0x2A.txt 2125 /************************/hoge ******** 0x53-0x39/0x2B.txt 2126 /************************/hoge ******** 0x53-0x39/0x2C.txt 2127 /************************/hoge ******** 0x53-0x39/0x2D.txt 2128 /************************/hoge ******** 0x53-0x39/0x2E.txt 2129 /************************/hoge ******** 0x53-0x39/0x2F.txt 2130 /************************/hoge ******** 0x53-0x39/0x30.txt 2131 /************************/hoge ******** 0x53-0x39/0x31.txt 2132 /************************/hoge ******** 0x53-0x39/0x32.txt 2133 /************************/hoge ******** 0x53-0x39/0x33.txt 2134 /************************/hoge ******** 0x53-0x39/0x34.txt 2135 /************************/hoge ******** 0x53-0x39/0x35.txt 2136 /************************/hoge ******** 0x53-0x39/0x36.txt 2137 /************************/hoge ******** 0x53-0x39/0x37.txt 2138 /************************/hoge ******** 0x53-0x39/0x38.txt 2139 /************************/hoge ******** 0x53-0x39/0x39.txt 2140 /************************/hoge ******** 0x53-0x39/0x3A.txt 2141 /************************/hoge ******** 0x53-0x39/0x3B.txt 2142 /************************/hoge ******** 0x53-0x39/0x3C.txt 2143 /************************/hoge ******** 0x53-0x39/0x3D.txt 2144 /************************/hoge ******** 0x53-0x39/0x3E.txt 2145 /************************/hoge ******** 0x53-0x39/0x3F.txt
正規表現が使えるので、マッチしたプロセスのうち、一部だけをフィルタすることも出来る。
$ pgrep -lf 'hoge.{,}(2[2-5,B-D]|3[7-8])\.txt$' 2116 /************************/hoge ******** 0x53-0x39/0x22.txt 2117 /************************/hoge ******** 0x53-0x39/0x23.txt 2118 /************************/hoge ******** 0x53-0x39/0x24.txt 2119 /************************/hoge ******** 0x53-0x39/0x25.txt 2125 /************************/hoge ******** 0x53-0x39/0x2B.txt 2126 /************************/hoge ******** 0x53-0x39/0x2C.txt 2127 /************************/hoge ******** 0x53-0x39/0x2D.txt 2137 /************************/hoge ******** 0x53-0x39/0x37.txt 2138 /************************/hoge ******** 0x53-0x39/0x38.txt
フィルタリングの結果を確認したら、pkillで実際にkillする。
$ pkill -f 'hoge.{,}(2[2-5,B-D]|3[7-8])\.txt$'