Articles of 超时

如何查看/更改Linux上的套接字连接超时?

在Java中创buildSocket时: new Socket(host, port); Socket构造函数会在返回之前尝试连接到host:port 。 在Windows上,对于无法访问的主机,这几乎立即失败,但是对于Linux来说,Socket可能需要5分钟才能超时。 我知道,如果我有创build套接字的控制权,我可以这样做: Socket s = new Socket(); s.bind(..); s.connect(.., timeout); 但我宁愿让操作系统使用合理的默认值。 有没有办法在Linux上改变这个设置? 谢谢

在C ++ Linux中的套接字超时

好吧,首先我想提一下,我所做的是完全道德的,是的,我是端口扫描。 当端口打开时程序运行良好,但是当我到达一个closures的套接字时,程序停止很长时间,因为没有超时条款。 下面是下面的代码 int main(){ int err, net; struct hostent *host; struct sockaddr_in sa; sa.sin_family = AF_INET; sa.sin_port = htons(xxxx); sa.sin_addr.s_addr = inet_addr("xxx.xxx.xxx.xxx"); net = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); err = connect(net, (struct sockaddr *)&sa, sizeof(sa)); if(err >= 0){ cout << "Port is Open"; } else { cout << "Port is Closed"; } } 我发现这堆栈溢出,但对我来说使用select()命令是没有意义的。 问题是我们可以使connect()函数超时,所以我们不会等待一年,它会返回一个错误?

如何禁用或更改在Linux下的GPU的超时限制?

有没有人知道如何禁用或更改Ubuntu 12.10下的CUDA内核的超时限制? (使用当前版本的Windows,可以在registry中设置超时限制。) 请告诉我,如果没有可能与Ubuntu做到这一点。 我以前的search唯一的结果如下: 运行没有graphics显示的CUDA内核被连接到GPU 将内核分成较小的内核以避免超出时间限制 这两种解决scheme对我来说都是没有select的,因为我需要为我的应用程序进行graphics显示,并且在内核执行期间,已经没有任何线程依次运行了。 而分裂单线程将花费数月的工作。 请不要进一步询问这些方向的细节。 感谢您的帮助提前。

Windowsbatch file中的用户决策超时

我写了一个简单的.bat文件,一次询问用户是/否的问题。 现在我想添加一个超时 – 让我们说10秒 – 它。 有一个简单的方法来做到这一点? 到目前为止我的来源: SET /P ANSWER=Do you want it (Y/N)? IF /i {%ANSWER%}=={y} GOTO :yes IF /i {%ANSWER%}=={yes} GOTO :yes GOTO :no :yes @echo Yeah, it will be done. GOTO :continue :no @echo Nope, it will not happen. GOTO :continue :continue @echo And on we go

正确的方式来在Python中运行一些超时的代码

我看了网上,发现一些讨论和ActiveState食谱运行一些超时的代码。 看起来有一些常见的方法: 使用运行代码的线程,并使用超时join 。 如果超时 – 杀死线程。 这不是Python直接支持的(使用private _Thread__stop函数),所以这是不好的做法 使用signal.SIGALRM – 但这种方法不适用于Windows ! 使用超时的subprocess – 但是这太重了 – 如果我想要经常开始可中断的任务,我不想为每个进程启动进程! 那么,什么是正确的方法 ? 我不是问变通方法(例如使用扭曲和asynchronousIO),但实际的方式来解决实际问题 – 我有一些function,我想只运行一些超时。 如果超时,我想控制回来。 我希望它能在Linux和Windows上运行。

如何使用辅助GPU重写Windows上的CUDA内核执行时间限制?

来自Nvidia的网站,它解释了超时问题: 问:最大的内核执行时间是多less? 在Windows上,单个GPU程序启动的最大运行时间约为5秒。 超过这个时间限制通常会导致通过CUDA驱动程序或CUDA运行时报告的启动失败,但在某些情况下可能会挂起整个机器,需要硬重置。 这是由Windows“看门狗”定时器引起的,如果它们的运行时间超过了最大允许时间,则会导致使用主graphics适配器的程序超时。 出于这个原因,build议CUDA在未连接到显示器的GPU上运行,并且没有将Windows桌面扩展到它。 在这种情况下,系统必须至less包含一个用作主要graphics适配器的NVIDIA GPU。 来源: https : //developer.nvidia.com/cuda-faq 那么看起来,nvidia认为,或者至less强烈地暗示,具有多(nvidia)gpus,并且具有适当的configuration,可以防止这种情况发生? 但是,如何? 到目前为止,我尝试了很多方法,但是在GK110 GPU上仍然存在令人讨厌的超时问题:(1)插入次PCIE 16X插槽; (2)没有连接到任何监视器(3)被设置为在驱动器控制面板中使用作为一个独家的PhysX卡(由其他人推荐),但封锁仍然在那里。

命名pipe道服务器,如何中断或超时等待客户端连接和传入数据

我正在为Windows编写一个简单的命名pipe道服务器,调用Windows API(Java中与JNA,但这是不相关的)。 我想弄清楚如何避免服务器永远等待客户端连接或数据来自客户端。 服务器代码执行以下操作: 1)通过在dwPipeMode参数中调用CreateNamedPipe和PIPE_WAIT来创buildpipe道。 2)调用ConnectNamedPipe ,直到客户端连接才返回。 3)它进入一个循环,它通过调用ReadFile重复读取消息, ReadFile不会返回,直到读取数据为止。对于每个接收到的消息,它通过调用WriteFile将消息发送回客户端。 4)经过许多这样的对话之后,客户端和服务器将从pipe道上断开。 我只是想能够设置在第2步的ConnectNamedPipe和第3步的ReadFile等待超时,我看不到在哪里设置超时。 CreateNamedPipe函数中有nDefaultTimeOut参数,但它并不是真正意义上的; API文档说: 如果WaitNamedPipe函数指定NMPWAIT_USE_DEFAULT_WAIT ,则默认超时值(以毫秒为单位) 。 因此, CreateNamedPipe的nDefaultTimeOut arg听起来像默认的超时,连接到pipe道的客户端将使用它们的操作,并且只有在它们调用WaitNamedPipe函数时。 实际上,在我的testing中,0或1000的值没有什么不同,对ConnectNamedPipe的调用永远不会返回(除非客户端连接)。 我正在寻找的是超时服务器,而不是在ConnectNamedPipe和ReadFile的调用。 作为CreateNamedPipe的文档,对于带有PIPE_WAIT的dwPipeMode参数PIPE_WAIT , Blocking mode is enabled. When the pipe handle is specified in the ReadFile, WriteFile, or ConnectNamedPipe function, the operations are not completed until there is data to read, all data is written, […]

命名pipe道读取超时

我试图设置超时到我命名pipe道的读取操作。 为了从命名pipe道读取,我正在使用ReadFile函数。 我读过SetCommTimeouts函数可以为此函数设置超时,但是当我尝试使用它时,出现系统错误1:“函数不正确”。 这是我的代码(这是客户端): m_pipe = CreateFileA(pipeName, // pipe name GENERIC_READ | // read and write access GENERIC_WRITE, 0, // no sharing NULL, // default security attributes OPEN_EXISTING, // opens existing pipe 0, // default attributes NULL); // no template file if (m_pipe != INVALID_HANDLE_VALUE) { DWORD mode = PIPE_READMODE_MESSAGE | PIPE_WAIT; ok = SetNamedPipeHandleState(m_pipe, […]

在Windows上取消python中的停滞文件副本

在Windows上,我想用Python将一大堆文件复制到networking上。 有时,networking没有响应,副本停滞。 我想检查,如果发生这种情况,跳过有问题的文件,当发生这种情况。 通过在这里询问这个相关的问题,我发现了关于CopyFileEx函数,它允许使用callback函数,可以中止文件复制。 Python中的实现如下所示: import win32file def Win32_CopyFileEx( ExistingFileName, NewFileName, Canc = False): win32file.CopyFileEx( ExistingFileName, # PyUNICODE | File to be copied NewFileName, # PyUNICODE | Place to which it will be copied Win32_CopyFileEx_ProgressRoutine, # CopyProgressRoutine | A python function that receives progress updates, can be None Data = None, # object | An […]