最初のコマンドライン引数を介してpgrepする方法は?

最初のコマンドライン引数を介してpgrepする方法は?

pgrep使いたいプロセスのpidを探す例えば

$ pgrep bluetoothd
441

ただし、検索に必要なプロセスは、次のラッパーで実行されますRunFIDProcess

[cama@dc1-dev-lin-1204 tests]$ ps -ef | grep RunFIDProcess
tps        544     1  0 Dec13 ?        00:00:00 /bin/sh .//RunFIDProcess CASE_SJDI SJdi -c SJdi.auto.cfg -m PRIMARY_WARM
tps        546     1  0 Dec13 ?        00:00:00 /bin/sh .//RunFIDProcess CASE_ETH Eth -c Eth.cfg
tps        547     1  0 Dec13 ?        00:00:00 /bin/sh .//RunFIDProcess CASE_DBWEBSERVER DbWebServer
tps        556     1  0 Dec13 ?        00:00:00 /bin/sh .//RunFIDProcess CASE_TABLE_PROXY TableProxy -c TableProxy.cfg
cama      4519     1  0 07:30 ?        00:00:00 /bin/sh .//RunFIDProcess CASE_SJDI SJdi -c SJdi.auto.cfg -m PRIMARY_WARM
cama      4524     1  0 07:30 ?        00:00:00 /bin/sh .//RunFIDProcess CAMA_DS5_QRY DaqSvr -m cold -c cama_DaqSvr.DS5.cfg
cama      4530     1  0 07:30 ?        00:00:00 /bin/sh .//RunFIDProcess CAMA_US_OSUB Osub -c cama_Osub.US.auto.cfg -Cold
cama      4534     1  0 07:30 ?        00:00:00 /bin/sh .//RunFIDProcess CAMA_DS7_QRY DaqSvr -m cold -c cama_DaqSvr.DS7.cfg

だから、

[cama@dc1-dev-lin-1204 tests]$ pgrep CAMA_US_OSUB

何も返しません。

名前と最初のコマンドライン引数でプロセスを見つける方法は?

答え1

各プロセスの完全な引数リストを取得できるように-f切り替えます。pgrepしたがって、pgrep -f CAMA_US_0SUBそのパラメータを使用して何か(または実際にその名前を持つプロセス)を取得できます。

関連情報