如何在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
型
ttisahbt1#
您可以用途:
ps -ef | grep '[j]ava'
字符串或者如果pgrep可用,则最好用途:
pgrep
pgrep -f java
ia2d9nvy2#
您可以将输出通过管道传输到awk,以仅打印PID。例如:
ps -ef | grep nginx | awk '{print $2}' 9439
字符串
oyxsuwqo3#
使用此:ps -C <name> -o pid=
ps -C <name> -o pid=
zvms9eto4#
这个命令忽略grep进程,只返回PID:
ps -ef | grep -v grep | grep java | awk '{print $2}'
zhte4eai5#
为什么不只是皮多夫?
pidof <process_name>
字符串它将返回与进程名匹配的pid列表https://linux.die.net/man/8/pidof
5条答案
按热度按时间ttisahbt1#
您可以用途:
字符串
或者如果
pgrep
可用,则最好用途:型
ia2d9nvy2#
您可以将输出通过管道传输到awk,以仅打印PID。例如:
字符串
oyxsuwqo3#
使用此:
ps -C <name> -o pid=
zvms9eto4#
这个命令忽略grep进程,只返回PID:
字符串
zhte4eai5#
为什么不只是皮多夫?
字符串
它将返回与进程名匹配的pid列表
https://linux.die.net/man/8/pidof