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


12

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


1
lsof -p $PID将是一个好的开始。 $PID也可以是逗号分隔的PID列表。此外,还会在中公开大量数据/proc/$PID/
DopeGhoti 2014年

Answers:


19

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

pgrep -lf python

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

pgrep -af python

否则,您可以使用/proc

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

3

我通常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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.