在python中,如何获得时间信息操作系统时报()对于特定的子进程?

2024-05-17 05:42:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以用操作系统时报或者资源.getrlimit获取当前进程、所有子进程或两者的用户时间。在

如何获取特定子进程的时间信息?在


Tags: 用户信息进程时间资源时报getrlimit
2条回答

您可以^{}^{},然后调用^{}。由于您刚刚分叉,附加进程将是唯一的子进程。在

我不知道您是否可以这样做,但是在Linux上,您可以解析/proc/<PID>/stat来找到任何进程从os.times获得的前四个值。例如:

import sys
import os

if not len(sys.argv) == 2:
    print >> sys.stderr, "Usage: %s <PID>" % (sys.argv[0])
    sys.exit(1)

pid = int(sys.argv[1])

hz = os.sysconf(os.sysconf_names['SC_CLK_TCK'])

with open("/proc/%d/stat" % (pid,)) as fp:
    fields = fp.read().split(' ')[13:17]
    utime, stime, cutime, cstime = [ (float(f) / hz) for f in fields ]
    print "utime in clock ticks:", utime
    print "stime in clock ticks:", stime
    print "cutime in clock ticks:", cutime
    print "cstime in clock ticks:", cstime

假设您有感兴趣的子进程的进程id。在

我发现了如何从这个问题中获得sysconf(_SC_CLK_TCK)的值:Python: How to get number of mili seconds per jiffy,关于{}中字段的信息来自proc(5)手册页。在

相关问题 更多 >