[英]How to only wait a certain amount of time for a system call to run
我正在 python 中制作一个简单的 ping 脚本,并希望添加用于获取已启动 IP 的主机名的功能。 为此,我使用 os.popen 获取nmblookup -A {ip}
的os.popen
并解析 output。 我遇到的问题是,对于 nmblookup 不起作用的系统(例如路由器),该命令需要很长时间才能得到错误,而当命令成功运行时,它会在一秒钟内重新运行结果。 我的问题是如何只等待 N 秒让nmblookup
命令返回某些内容,如果没有,继续使用该程序? PS,这一切都在linux中。
您可以在命令前加上 timeout。 请参阅它的手册页。
你可以做一个 Popen 并运行你的命令
root@ak-dev:~# timeout 1 sleep 20
root@ak-dev:~# echo $?
124
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.