如何在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.example
fi

原文由 openquestion 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 469
2 个回答

您可以使用:

 ps -ef | grep '[j]ava'

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

 pgrep -f java

原文由 anubhava 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

原文由 Jose Varez 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题