是否有一種簡單的方法可以找出子進程當前(真實或cpu)運行時間的實例?子進程運行時間.Popen實例
1
A
回答
1
不,但您可以簡單地繼承和擴展Popen類來存儲它創建的時間。
0
不以平臺無關的方式。在Linux上,您可以讀取/proc/<pid>/stat
,特別是列utime,stime和starttime(如proc(5)中所述)。
0
在Windows機器上,你可以使用Win32 API的使用proc.pid一起,就像這樣:
import subprocess
def print_times(proc):
import win32process, win32api, win32con
hproc = win32api.OpenProcess(win32con.PROCESS_QUERY_INFORMATION, False, proc.pid)
times = win32process.GetProcessTimes(hproc)
win32api.CloseHandle(hproc)
# GetProcessTimes returns values in 100-ns intervals
print 'kernel', times['KernelTime'] * 1e-7
print 'user', times['UserTime'] * 1e-7
proc = subprocess.Popen('cmd /c sleep 1')
proc.wait()
print_times(proc)