如何在Linux上仅获取指定进程名的进程ID?

h43kikqp  于 2023-11-17  发布在  Linux
关注(0)|答案(5)|浏览(123)

如何在Linux上仅获取指定进程名的进程ID?

ps -ef|grep java
test 31372 31265  0 13:41 pts/1    00:00:00 grep java

字符串
基于进程id我将编写一些逻辑。那么我如何只获取特定进程名的进程id呢?
示例程序:

PIDS= ps -ef|grep java
if [ -z "$PIDS" ]; then
echo "nothing"
else
mail [email protected]
fi

ttisahbt

ttisahbt1#

您可以用途:

ps -ef | grep '[j]ava'

字符串
或者如果pgrep可用,则最好用途:

pgrep -f java

ia2d9nvy

ia2d9nvy2#

您可以将输出通过管道传输到awk,以仅打印PID。例如:

ps -ef | grep nginx | awk '{print $2}'
9439

字符串

oyxsuwqo

oyxsuwqo3#

使用此:ps -C <name> -o pid=

zvms9eto

zvms9eto4#

这个命令忽略grep进程,只返回PID:

ps -ef | grep -v grep | grep java | awk '{print $2}'

字符串

zhte4eai

zhte4eai5#

为什么不只是皮多夫?

pidof <process_name>

字符串
它将返回与进程名匹配的pid列表
https://linux.die.net/man/8/pidof

相关问题