내 Python 스크립트에서 otherscript.py
이 현재 (Linux) 시스템에서 실행되고 있는지 확인하고 싶습니다. psutil 라이브러리는 좋은 해결책처럼 보였다 :python 명령으로 프로세스 찾기
import psutil
proc_iter = psutil.process_iter(attrs=["name"])
other_script_running = any("otherscript.py" in p.info["name"] for p in proc_iter)
문제는 p.info["name"]
는 프로세스가 아닌 전체 명령의 실행 파일의 이름을 제공한다는 것입니다. 따라서 python otherscript.py
이 시스템에서 실행될 경우 p.info["name"]
은 해당 프로세스에 대해 python
이되고 내 스크립트는 otherscript.py
이 실행중인 스크립트인지 여부를 감지 할 수 없습니다.
psutil 또는 다른 라이브러리를 사용하여이 검사를 수행하는 간단한 방법이 있습니까? 나는 서브 프로세스로 ps
명령을 실행할 수 있고 출력에서 otherscript.py
을 찾을 수 있다고 생각하지만, 좀 더 우아한 해결책을 원합니다. 이 이름(),있는 CmdLine()와 EXE를() 검사 두 번째 예를 살펴
import psutil
proc_iter = psutil.process_iter(attrs=["pid", "name", "cmdline"])
other_script_running = any("otherscript.py" in p.info["cmdline"] for p in proc_iter)