- PR -

プロセスIDを特定する

1
投稿者投稿内容
キョシ
会議室デビュー日: 2007/03/20
投稿数: 2
投稿日時: 2007-03-20 14:28
初めて投稿させていただきます。
よろしくお願い致します。

環境はRed Hat Linux 9です。

1.
プロセスIDを出力するコマンドとしてpidofコマンドがありますが、

# pidof /bin/sh /home/user/sample.sh

例えば、上記を実行すると、プロセス名(psコマンドにて取得)がスペース区切りの為、妥当な結果を得ることができません。

プロセス名がスペースで区切られている場合、pidofコマンドでプロセスIDを取得することはできないのでしょうか。

1.でのプロセスID取得が不可能な場合、
psコマンドで表示されるプロセス名(@)を、シェルスクリプト内で加工することで任意名称での表示(A)をすることはできますでしょうか。

@
# ps -aux
root 24856 0.0 0.1 2728 784 pts/1 S 13:31  0:00  /bin/sh /home/user/sample.sh

A
# ps -aux
root 24856 0.0 0.1 2728 784 pts/1 S 13:31  0:00  
 sampleprocess

*)sampleprocessは任意名称


アドバイスの程、よろしくお願いします。
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2007-03-20 15:46
procpsパッケージがインストールされているなら、
pgrepがあるので

# pgrep -f "/bin/sh /home/user/sample.sh"

でPIDは取得出来ますね。
pidofでは、出来ないっぽいんだけどどうなんでしょうね。
_________________
桃李不言 下自成蹊
キョシ
会議室デビュー日: 2007/03/20
投稿数: 2
投稿日時: 2007-03-20 19:34
anightsさんご返答ありがとうございます。

無事解決いたしました。

おっしゃる通り下記コマンドにてプロセスIDを取得することができました。
# pgrep -f "/bin/sh /home/user/sample.sh"

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)