2014-04-10 4 views

답변

5

이보십시오. 프로세스 ID를 반환하면 프로세스가 실행 중입니다. firefox 대신 프로세스 이름을 사용하십시오.

명령 모듈은 파이썬 3 배에 더 이상으로
import commands 
commands.getoutput('pgrep firefox') 

, 우리는 여기 subprocess 모듈을 사용하여 프로세스 ID를받을 수 있습니다.

import subprocess 
process = subprocess.Popen('pgrep firefox', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
my_pid, err = process.communicate() 

여기서 my_pid는 프로세스 ID입니다.

난 그냥 위의 코드를려고하고 업데이트 된 코드를 게시 파이썬 3의 코드를 시도하지 않은 파이썬 2.7을 사용하여 나를 위해 작동하지 않았다, 내가 할 사람

for p in psutil.process_iter(): #iterate through all running processes 
    if p.name() == 'firefox': 
     print "firefox is running" 
     break 
+0

모듈 명령은 Python 2.6부터 사용되지 않습니다. –

+0

예. python3x에서는이 모듈을 사용할 수 없습니다. 대신'subprocess' 모듈을 사용할 수 있습니다. –

+0

이것은 이것을 해결하는 한 가지 방법입니다. 하지만 순수한 파이썬이 의미하는 바를 얻지는 못했습니다. 감사. –

3

사용 모듈 psutil를 실행 여부

나는 확인하고 싶다.

import psutil 

...  

if pid in psutil.get_pid_list(): 
    print pid, "is running" 

편집 : 예를 들어, 당신은 다음과 같이 실행중인 모든 프로세스의 PID를하고 이름을 얻을 수 있습니다 :

for p in psutil.process_iter(): 
    if p.name == 'firefox': 
     print "firefox is running" 
     break 
+0

도움이 될 – imp

+0

@imp 솔루션 실행중인 프로세스의 이름을 얻는 방법에 대한 대답이 지금 있습니다. 관심있는 프로세스 이름을 찾으십시오. –

+0

psutil.pids() for python3에있는 pid –

0
프로세스의 프로세스 ID를 알지 못합니다. 특정 이름의 프로세스가 실행 중인지 여부를 확인하고 싶습니다.