python:运行一个超时进程并捕获stdout、stderr和退出状态
可能的重复:
超时子进程
在 Python 中执行以下操作的最简单方法是什么:
- 运行外部进程
- 捕获标准输出字符串、stderr 和退出状态
- 设置超时。
我想要这样的东西:
import proc
try:
status, stdout, stderr = proc.run(["ls", "-l"], timeout=10)
except proc.Timeout:
print "failed"
Possible Duplicate:
subprocess with timeout
What is the easiest way to do the following in Python:
- Run an external process
- Capture stdout in a string, stderr, and exit status
- Set a timeout.
I would like something like this:
import proc
try:
status, stdout, stderr = proc.run(["ls", "-l"], timeout=10)
except proc.Timeout:
print "failed"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我讨厌自己做这项工作。只需将其复制到您的 proc.py 模块中即可。
I hate doing the work by myself. Just copy this into your proc.py module.
请注意,在 coreutils >= 7.0 的 Linux 上,您可以在命令前面加上超时,例如:
Note on linux with coreutils >= 7.0 you can prepend timeout to the command like: