ram*_*sus 9 python subprocess nice renice
我知道os.nice()它对于父进程来说是完美的,但是我需要对子进程进行处理.我找到了这样做的方法,但似乎不是很方便和过分:
os.system("renice -n %d %d" % ( new_nice, suprocess.pid ) )
Run Code Online (Sandbox Code Playgroud)
并且它在返回后不会返回得到很好的水平.
在python中有更简洁的方法来管理子进程吗?
Nic*_*ood 13
使用preexec_fn参数subprocess.Popen:
如果
preexec_fn设置为可调用对象,则在子进程执行之前,将在子进程中调用此对象.(仅限Unix)
例:
>>> Popen(["nice"]).communicate()
0
(None, None)
>>> Popen(["nice"], preexec_fn=lambda : os.nice(10)).communicate()
10
(None, None)
>>> Popen(["nice"], preexec_fn=lambda : os.nice(20)).communicate()
19
(None, None)
Run Code Online (Sandbox Code Playgroud)