[英]How to get pid by unique process name in linux?
I have two java program running on server MyProgram
and MyProgramTest
. 我在服务器
MyProgram
和MyProgramTest
上运行了两个Java程序。
ps -ef | grep -i java
root 505 17711 0 16:54 pts/4 00:00:00 grep -i MyProgram
root 16450 16448 99 16:46 pts/4 00:07:29 java MyProgram
root 16473 16471 99 16:46 pts/4 00:07:29 java MyProgramTest
I want to search there pid using below commands 我想使用以下命令在pid中搜索
ps ax | grep -v grep | grep MyProgram
It should give me PID 16450 but it is giving both 它应该给我PID 16450,但同时给我
16450 pts/4 Sl 9:19 java MyProgram
16473 pts/4 Sl 9:19 java MyProgramTest
Expected Output : 预期产量:
16450 pts/4 Sl 9:19 java MyProgram
How to get PID by Unique Process Name in linux ? 如何在Linux中通过唯一进程名称获取PID?
ps ax | grep -v grep | grep -w "MyProgram"
要么
ps ax | grep -v grep | grep "\MyProgram\b"
You can use, 您可以使用,
ps ax | grep -v grep | grep -w MyProgram
-w for Whole Word Match. -w表示整个单词匹配。 However, It will also match things like MyProgram or MyProgram Hello.
但是,它也可以匹配MyProgram或MyProgram Hello之类的东西。
为了避免使用grep -v grep
之类的技巧,最好使用pgrep
:
pgrep --exact MyProgram
Suffix $, ie; 后缀$,即; the process name ends with "MyProgram",
进程名称以“ MyProgram”结尾,
$ ps -ef |grep MyProgram$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.