In my Python script, i want to check if otherscript.py
is currently being run on the (Linux) system. The psutil library looked like a good solution:
import psutil
proc_iter = psutil.process_iter(attrs=["name"])
other_script_running = any("otherscript.py" in p.info["name"] for p in proc_iter)
The problem is that p.info["name"]
only gives the name of the executable of a process, not the full command. So if python otherscript.py
is executed on the system, p.info["name"]
will just be python
for that process, and my script can't detect whether or not otherscript.py
is the script being run.
Is there a simple way to make this check using psutil or some other library? I realize i could run the ps
command as a subprocess and look for the otherscript.py
in the output, but i'd prefer a more elegant solution if one exists.