Linux

如何通過第一個命令行參數 pgrep?

  • December 22, 2016

我想用來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

什麼都不返回。

如何通過名稱和第一個命令行參數找到程序?

-f切換到允許它搜尋每個程序的pgrep完整參數列表。因此,您可以使用它pgrep -f CAMA_US_0SUB來搜尋在其參數中使用的任何內容(或者實際上是具有該名稱的程序)。

引用自:https://unix.stackexchange.com/questions/332256