![Многопроцессорные имена в Linux](https://rvso.com/image/1672332/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B5%20%D0%B8%D0%BC%D0%B5%D0%BD%D0%B0%20%D0%B2%20Linux.png)
Я использую Pythonмногопроцессорностьпакет, который удобно именует рабочие процессы самостоятельно. Я могу получить доступ к этим именам для отладки из моего скрипта Python. Однако я хотел бы сделать это из оболочки и htop
или ps -aux
только показать команду, с помощью которой были вызваны эти процессы, что python test.py
длявсепроцессы. Есть ли способ получить те же имена процессов, что и ниже, но в dash?
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 для работы, но я просматриваю сотни процессов, поэтому предпочтительнее список в виде обзора.