Linux 上のマルチプロセス名

Linux 上のマルチプロセス名

私はPythonを使用していますマルチプロセッシングパッケージは、ワーカープロセスに独自の名前を付ける便利なものです。Pythonスクリプト内からデバッグ目的でこれらの名前にアクセスできます。ただし、シェルからアクセスして、これらのプロセスが呼び出されたコマンドのみを表示したいのですhtopps -aux、これはpython test.py全てプロセス。ダッシュで以下と同じプロセス名を取得する方法はありますか?

import multiprocessing as mp
import time

class MyWorker:
    def __init__(self, x):
        self.x = x

    def square(self):
        time.sleep(30)
        return self.x**2

pool = mp.Pool(4)
nums = [i for i in range(10)]
workers = [MyWorker(x) for x in nums]
tasks = []

for worker in workers:
    pending = pool.apply_async(worker.square)
    tasks.append(pending)
[print(proc.name) for proc in mp.active_children()]
results = [result.get() for result in tasks]
pool.close()
pool.join()

これにより

ForkPoolWorker-3
ForkPoolWorker-2
ForkPoolWorker-4
ForkPoolWorker-1

/proc/{your_pid_here}/cmdlineすでに作業する pid がある場合は、その方法を使用できますが、数百のプロセスを確認しているため、概要のようなリストが推奨されます。

関連情報