在Linux中处理系统(命令)调用超时

时间:2016-03-14 11:19:41

标签: c linux shell signals fork

我正在尝试使用linux系统(cmd)执行命令(从远程服务器获取密钥)。我的问题是当远程服务器无法访问时,对于很少的IP,它只是等待而不返回,这反过来使得#34; system()"永远地挂。我想处理这个场景。我正在考虑一种方法,使我的system()等待一定的持续时间,如果命令没有返回,那么system()命令必须报告一个不成功的状态。

我的命令看起来像这样:

int status = system("<<<URL of the remote server>>>");
//the above command must wait for a fixed duration before coming out if no response.

1 个答案:

答案 0 :(得分:4)

您可以使用timeout(1)命令执行此操作...

.nav-open {
  display: block !important;
}

但是,正如评论中所提到的,您最好使用面向网络的解决方案解决您的情况的相当根本问题,例如requests