如何通过第一个命令行参数 pgrep?

And*_*ong 4 linux grep process

我想使用pgrep找到一个进程的PID例如

$ pgrep bluetoothd
441
Run Code Online (Sandbox Code Playgroud)

但是,我需要搜索的进程在名为 的包装器中运行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
Run Code Online (Sandbox Code Playgroud)

所以,

[cama@dc1-dev-lin-1204 tests]$ pgrep CAMA_US_OSUB
Run Code Online (Sandbox Code Playgroud)

什么都不返回。

如何通过名称和第一个命令行参数找到进程?

Dop*_*oti 10

-f开关pgrep允许它的参数的完整列表搜索到每个进程。因此,您可以pgrep -f CAMA_US_0SUB使用在其参数中使用的任何内容(或确实具有该名称的进程)来搜索任何内容。