+ -
当前位置:首页 → 问答吧 → 大学生计算机社区(推荐给大家)

大学生计算机社区(推荐给大家)

时间:2010-10-28

来源:互联网

我有一测试程序,获得一系列键盘输入后结束,类似于:
main()
{
getchar();
getchar();
getchar();
}
编译后生成a.out,
问题是:我使用一台终端(实达、昌霖等的网络终端)用Telnet登录主机后执行该程序,在键盘输入之前将终端关闭!这时在主机上还可看到该终端的这些进程,有什么办法使测试程序得知发生意外而主动关闭,求助!
ps -t 1
PID TTY TIME CMD
6118 pts/1 00:00:00 login
6119 pts/1 00:00:00 bash
6137 pts/1 00:00:00 a.out
请看,从login至a.out都没死。

作者: 蝴蝶兰   发布时间: 2010-10-28

你可以查一下信号,有可能在终端关闭的时候给进程发送某个信号。

作者: linjiework   发布时间: 2010-10-28

实事上程序没有收到任何信号。我是直接将终端电源关闭的。
终端开着时,我将网线拔出一段时间,它还是继续正常工作。
我的目的就是获得终端异常关闭、网络断开时我的程序能够得知并进行处理。

作者: 蝴蝶兰   发布时间: 2010-10-28