pkillを特定のプロセスに絞る方法
小粋空間 » Linux » pkillを特定のプロセスに絞る方法
pkillを特定のプロセスに絞る方法を紹介します。
1.問題点
pkillはプロセス名を指定して強制終了させるためのコマンドです。
たとえば、実行中のtest.shを終了させる場合、
$ pkill test.sh
とすればプロセスを終了できます。
ただ、プロセス名で検索するため、終了させたくない同名の他のプロセスまで終了してしまいます。
これを特定のプロセスに絞りたいのですが、方法が分かりません。
ということで、pkillを特定のプロセスに絞る方法を紹介します。
2.pkillを特定のプロセスに絞る
pkillを特定のプロセスに絞る方法として、"-t"オプションで実行中のターミナル(TTY)を指定します。
$ pkill -t pts/59 test.sh
または
$ pkill --terminal pts/59 test.sh
"-t"または"--terminal"は、ターミナルを指定するオプションです。
これで終了させたいプロセスを、特定のターミナルだけに絞ることができます。
ターミナルを調べるには、プロセス実行前にttyコマンドを実行しておきます。
下記の例では、ターミナルが"/dev/pts/59"であることを示しています。
$ tty
/dev/pts/59
なお、"-t"オプションにターミナルを指定する場合、先頭の"/dev/"は省略します。
また、複数のターミナルを指定する場合はカンマ区切りで指定します。
$ pkill --terminal pts/59,pts/52 test.sh