pkillで文字列マッチしない場合の対処

August 13,2019 11:55 PM
Category:[Linux]
Tag:[Linux]
Permalink

pkillで文字列マッチしない場合の対処方法を紹介します。

1.問題点

下記のようにフルパス指定でtest.shを実行しました。

$ /home/foo/test.sh

psコマンドで見るとフルパスで実行されています。

$ ps -ef | grep test.sh
foo      59476 57186  0 13:43 pts/52   00:00:00 /bin/bash /home/foo/test.sh

pkillコマンドで、このtest.shをフルパスで指定したのですが、プロセスが終了しません。

$ pkill /home/foo/test.sh

ということで、pkillで文字列マッチしない場合の対処方法を紹介します。

2.pkillで文字列マッチしない場合

pkillで指定する文字列パターンは「プロセス名」なので、パスは含みません。

よって、下記の記述であればプロセスは正常に終了します。

$ pkill test.sh

パスを含ませたい場合は、"-f"オプションを追加します。

$ pkill -f /home/foo/test.sh

"-f"は、コマンドライン全体をパターンマッチの対象とするオプションです。

これでパスを含んだプロセスを終了させることができます。

Comments [0] | Trackbacks [0]

pkillを特定のプロセスに絞る方法

August 1,2019 12:03 AM
Category:[Linux]
Tag:[Linux]
Permalink

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
Comments [0] | Trackbacks [0]

Linuxで文字列の特定部分を抜き出す方法

July 23,2019 12:03 AM
Category:[Linux]
Tag:[Linux]
Permalink

Linuxで文字列の特定部分を抜き出す方法を紹介します。

1.問題点

下記のように、lsコマンドでファイルの一覧を取得します。

# ls -l
合計 3
-rw-r--r--. 1 root root   0  6月 28 10:31 2019 aaa
-rw-r--r--. 1 root root   0  6月 28 10:31 2019 bbb
-rw-r--r--. 1 root root   0  6月 28 10:31 2019 ccc

この出力から「6月」から「10」までの文字列

6月 28 10

を取得したいのですが、方法が分かりません。

ということで、Linuxで文字列の特定部分を抜き出す方法を紹介します。

2.文字列の特定部分を抜き出す

文字列の特定部分を抜き出すには、cutコマンドを利用します。

# ls -l | cut -c 30-37
 
6月 28 10
6月 28 10
6月 28 10

"-c"は、示した位置の文字だけを表示するオプションです。

上記の例では30文字から37文字を表示します。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages