如何检查哪些特定进程(Python 脚本)正在运行?

Use*_*ser 14 centos

使用命令 'top' 我可以看到 2 个 python 脚本正在运行。但是,如何检查他们的姓名或目录/位置?我想识别它们,以便我可以看到哪些运行正常,哪些运行不正常。

Chr*_*own 28

您可以使用以下命令获取 python 进程列表pgrep

pgrep -lf python
Run Code Online (Sandbox Code Playgroud)

但是,这并没有列出整个命令行。如果您有最新版本的pgrep可以使用 -a 来执行此操作:

pgrep -af python
Run Code Online (Sandbox Code Playgroud)

否则,您可以使用/proc

IFS=" " read -ra pids < <(pgrep -f python)
for pid in "${pids[@]}"; do
    printf '%d: ' "$pid"
    tr '\0' ' ' < "/proc/$pid/cmdline"
    echo
done
Run Code Online (Sandbox Code Playgroud)


小智 6

我通常ps -fA | grep python用来查看正在运行的进程。

这将为您提供如下结果:

UID     PID   PPID  C STIME TTY      TIME     BIN            CMD
user    3985  3960  0 19:46 pts/4    00:00:07 path/to/python python foo.py
Run Code Online (Sandbox Code Playgroud)

CMD会告诉你运行的是什么Python脚本,但它不会给你的脚本的目录。