どの特定のプロセス(Pythonスクリプト)が実行されているかを確認する方法は?


12

コマンド 'top'を使用すると、2つのpythonスクリプトが実行されていることがわかります。ただし、名前またはディレクトリ/場所を確認するにはどうすればよいですか?それらを識別して、適切に実行されているものとそうでないものを確認できるようにします。


1
lsof -p $PID良いスタートになるでしょう。 $PIDPIDのコンマ区切りリストにすることもできます。また、大量のデータがで公開され/proc/$PID/ます。
DopeGhoti

回答:


18

以下を使用して、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スクリプトを紹介します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.