Estoy usando Pythonmultiprocesamientopaquete que convenientemente nombra los procesos de trabajo por sí solo. Puedo acceder a estos nombres con fines de depuración desde mi secuencia de comandos Python. Sin embargo, me gustaría hacerlo desde el shell o htop
mostrar ps -aux
solo el comando con el que se invocaron estos procesos, que es python test.py
paratodoprocesos. ¿Hay alguna manera de obtener los mismos nombres de proceso que se muestran a continuación pero en un guión?
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()
esto produce
ForkPoolWorker-3
ForkPoolWorker-2
ForkPoolWorker-4
ForkPoolWorker-1
Sé que puedes consultarlo /proc/{your_pid_here}/cmdline
si ya tienes un pid con el que trabajar, pero estoy analizando cientos de procesos, por lo que es preferible una lista similar a una descripción general.