【发布时间】:2015-10-28 20:36:21
【问题描述】:
首先,我尽可能多地阅读了与 subprocess.check_output() 相关的问题,但仍然难以确定问题。
如果我在shell中执行kill -l 1,我会得到1对应的信号名称,即HUP。我的 python 脚本中需要相同的行为,所以我使用:
>>> subprocess.check_output(['kill', '-l', '1'])
b'HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT\nCHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS\n'
子进程似乎忽略了参数列表中的“1”,而是执行kill -l。
我尝试了不同的版本,参数为列表或字符串,shell 选项为 True 和 False,但似乎都不起作用。
任何想法可能是什么原因?在 Ubuntu14.04 上使用 python3.4。
谢谢!
【问题讨论】:
-
subprocess.check_output(['kill', '-l', '1'])在我的控制台上按预期工作.-.
标签: python shell subprocess