Tôi đang cố gắng tìm xem liệu quy trình có đang chạy dựa trên id quá trình hay không. Mã như sau dựa trên một trong các bài đăng trên diễn đàn. Tôi không thể xem xét tên quy trình vì có nhiều quá trình đang chạy với cùng tên.Kiểm tra xem quy trình có đang chạy bằng Python (trong Linux/Unix)
def findProcess(processId):
ps= subprocess.Popen("ps -ef | grep "+processId, shell=True, stdout=subprocess.PIPE)
output = ps.stdout.read()
ps.stdout.close()
ps.wait()
return output
def isProcessRunning(processId):
output = findProcess(processId)
if re.search(processId, output) is None:
return true
else:
return False
Output:
1111 72312 72311 0 0:00.00 ttys000 0:00.00 /bin/sh -c ps -ef | grep 71676
1111 72314 72312 0 0:00.00 ttys000 0:00.00 grep 71676
Nó luôn luôn trở thành sự thật vì nó có thể tìm id quá trình trong chuỗi đầu ra.
Mọi đề xuất? Cảm ơn vì bất kì sự giúp đỡ.
@Cody: Tôi không nhìn đủ xa để nhìn thấy điều đó! –