繁体   English   中英

如何只等待一定的时间让系统调用运行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM