如何在linux中指定进程名称中只有进程ID?

如何获得只有在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 test@domain.com fi 

您可以使用:

 ps -ef | grep '[j]ava' 

或者如果pgrep可用,那么最好使用:

 pgrep -f java 

你可以通过管道输出awk来打印PID。 例如:

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

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

 adb shell procrank | grep TYPE_YOUR_PROCESS_NAME_INSTEAD | awk '{print $1}'