signals

    5热度

    7回答

    我有一个进程名称,我必须向该进程发送一个kill()信号,但我需要其PID来调用kill()。我只想使用: popen("pidof process_name"); 作为最后一件事。有没有其他方法可以找出进程的PID?我能想到的一种方式是向该进程发送套接字请求并询问其PID。 另一种方式是一个简单的代码,我写了一点太复杂:做什么pidof command's source code其实就是做(

    10热度

    4回答

    我试图实现一个不可靠的服务器的请求。该请求是一个很好的,但我的Perl脚本不能100%成功完成。问题在于服务器偶尔会发生死锁(我们试图弄清楚原因),并且请求永远不会成功。由于服务器认为它是活动的,因此它保持套接字连接打开,因此LWP :: UserAgent的超时值对我们来说没有好处。对请求执行绝对超时的最佳方式是什么? 仅供参考,这不是DNS问题。这个僵局与大量更新同时触发我们的Postgres

    7热度

    5回答

    是否可以在x86 Linux上将浮点异常(信号)转换为C++异常? 这是为了调试的目的,所以不可移植性和缺陷是可以的(例如,如果它不是100%保证所有析构函数被调用)。

    4热度

    4回答

    如果我们的程序中发生了段错误,我想捕获SIGSEGV并让用户(可能是GUI客户端)知道一个严重的返回码问题发生了。同时,我想在命令行上显示信息以显示哪个信号被捕获。 今天,我们的信号处理程序如下所示: void catchSignal (int reason) { std :: cerr << "Caught a signal: " << reason << std::endl;

    1热度

    2回答

    有什么办法可以捕捉错误并从Perl中正常退出吗?我正在研究可能因操作系统或运行在我的服务器上的其他应用程序的SIG事件而失败的脚本。我希望陷入这个事件,显示错误并在关闭脚本执行期间打开的所有文件和其他属性后退出。

    3热度

    4回答

    我在perl中有一个多线程应用程序,我必须依赖几个非线程安全模块,所以我一直使用fork() ed进程和kill()信号作为消息传递接口。 问题是信号处理程序有点不稳定(至少可以这么说),并且通常最终会遇到在不合适状态下被杀的进程。 有没有更好的方法来做到这一点?

    0热度

    4回答

    从我使用GTK +开始已经有一段时间了,而且我最后一次使用C语言,而不是像现在一样使用gtkmm和C++。无论如何,我有我认为应该是一个容易解决的问题: 我有一个弹出菜单组成的单选按钮列表,当我点击其中一个我想要发生一些行动。该代码是这样的: Gtk::RadioMenuItem::Group group; for (size_t i = 1; i < LH_MAX; ++i)

    5热度

    5回答

    在开始之前,我想澄清一下,这不是一个命令行工具,而是一个通过它自己的命令行界面接受命令的应用程序。 编辑:我必须对我之前的解释表示歉意,显然我没有很好的解释它。还有一次... 我正在构建一个接受用户命令的命令行界面应用程序。我有一个信号处理程序设置来捕捉信号,然后设置一个标志,我需要终止应用程序。我遇到的问题是我能找到的所有控制台功能都是阻塞的,这意味着我无法检测到我需要退出控制台处理循环,直到用

    1热度

    2回答

    我需要打印自然数。 1,2,... n,以便父进程打印所有奇数,并且子进程打印所有偶数,并且所有这些都需要使用POSIX信号完成。我将如何去完成这件事? 输出应该是: 家长:1 儿童:2 家长:3 ...

    4热度

    4回答

    我有这个应该全天候运行的Perl软件。它保持打开与IMAP服务器的连接,检查新邮件,然后分类新邮件。 现在,我有一个用户每隔一段时间都在休眠他的XP笔记本电脑。发生这种情况时,与服务器的连接失败并触发异常。调用代码通常会捕获该异常并尝试重新连接。但在这种情况下,Windows(或Perl?)似乎捕获异常并通过消息框将其交付给用户。 任何人都知道我可以如何防止这种wtf?我的代码可以捕获“系统即将到