如何在 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
您可以将输出通过管道传输到 awk 以仅打印 PID。例如:
ps -ef | grep nginx | awk '{print $2}' 9439
您可以使用:
ps -ef | grep '[j]ava'
或者如果
pgrep
可用,则更好使用:
pgrep -f java
使用这个:
ps -C <name> -o pid=
此命令忽略 grep 进程,只返回 PID:
ps -ef | grep -v grep | grep java | awk '{print $2}'