반응형
이름이 같은 여러 프로세스가 호스트에서 실행 중입니다. python 또는 jython 을 사용하여 이름으로 해당 프로세스의 PID를 얻는 교차 플랫폼 방법은 무엇입니까?
해결 방법
import psutil
PROCNAME = "python.exe"
for proc in psutil.process_iter():
if proc.name() == PROCNAME:
print(proc)
내 컴퓨터에서 다음과 같이 인쇄됩니다.
<psutil.Process(pid=3881, name='python.exe') at 140192133873040>
편집 2017-04-27-프로세스의 이름 (), cmdline () 및 exe ()에 대해 이름을 확인하는 고급 유틸리티 함수가 있습니다.
import os
import psutil
def find_procs_by_name(name):
"Return a list of processes matching 'name'."
assert name, name
ls = []
for p in psutil.process_iter():
name_, exe, cmdline = "", "", []
try:
name_ = p.name()
cmdline = p.cmdline()
exe = p.exe()
except (psutil.AccessDenied, psutil.ZombieProcess):
pass
except psutil.NoSuchProcess:
continue
if name == name_ or cmdline[0] == name or os.path.basename(exe) == name:
ls.append(name)
return ls
참조 페이지 https://stackoverflow.com/questions/550653
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python MySQLdb : connection.close () VS. cursor.close () (0) | 2020.10.06 |
---|---|
파이썬 최고의 Django 검색 앱은 무엇입니까? (0) | 2020.10.06 |
파이썬 How can I insert NULL data into MySQL database with Python? (0) | 2020.10.06 |
파이썬 알려진 상위 패키지가없는 상대 가져 오기를 시도했습니다. (0) | 2020.10.06 |
파이썬 Python에서 반복 변수의 N 값을 건너 뛰는 가장 좋은 방법은 무엇입니까? (0) | 2020.10.06 |
댓글