找出进程/文件是否正在运行linux

时间:2014-11-12 12:03:05

标签: linux shell ubuntu command-line

我想检查进程是否正在运行。

我一直在尝试
ps -C /path/file

并得到此回复:

PID TTY          TIME CMD

如果我这样做

pgrep php

我得到一个运行的php进程列表,但只有PID。

是否有可能

  • 确定我指定的文件的PID(我想键入文件并获取PID)
  • 如果输入PID
  • ,则获取文件名
  • 在文件中获取所有正在运行的进程PID,以便在稍后的脚本中使用它

操作系统: Ubuntu 14.04 LTS

我一直在寻找这个,因为很长一段时间,尝试了我在SO上找到的所有可能性,但只是无法弄清楚如何做到这一点。

2 个答案:

答案 0 :(得分:3)

"确定我指定的文件的PID。"

lsof | grep <file> | awk '{print $2}'

&#34;如果输入PID,请获取文件名。&#34;

lsof | grep <PID>
lsof | grep <PID> | awk '{print $NF}'

&#34;在文件中获取所有正在运行的进程PID,以便在以后的脚本中使用它。&#34;

ps x | awk '{print $1}' > pid-list.txt # PIDs of all processes run by current user
ps ax | awk '{print $1}' > pid-list.txt # PIDs of all processes run by all users

答案 1 :(得分:1)

ps aux | grep <the-name-of-the-process>怎么样。