Ctrl + C处理程序在某些主机上运行,​​而不在其他主机上运行

时间:2014-06-04 08:39:22

标签: c signals

我已经编写了以下CTRL + C处理程序,但问题是它在某些主机上正常工作但不能在其他主机上工作。任何人都可以帮助我。

void signalhandler( int num)
{
    signal(SIGINT, signalhandler);
}

编辑:

int main()
{
  signal(SIGINT, signalhandler);
  /*------------------*/
}

[评论更新]

我的意思是程序在某些主机上运行时不会以CTRL + C终止,但是在其他主机上运行时,同一程序会被终止。

1 个答案:

答案 0 :(得分:-1)

当你说

  

"在某些主机上正常工作但不在其他主机上工作"

我假设您将主机引用到其他平台,如Redhat,Solaris等。根据我的经验,一些旧服务器使用ctrl + Dctrl + Z作为中断信号。这是根据经验回答的。可能或可能不是你的情况。

如果您需要参考以了解C中的信号处理,建议您先阅读this页面。然后,您可以尝试在this页面上阅读更多内容。可能或可能不是您案件的解决方案。但值得一读,以增加对信号的了解。