怎么让程序捕获Ctrl+D?

hero1985 2009-12-09 10:22:33
我相让程序捕获shell中输入的Ctrl+D
然后执行一系列操作,我该怎么处理呢?
Ctrl+D是不是不发送信号?
...全文
504 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
XyRbj 2009-12-11
  • 打赏
  • 举报
回复
同楼上 顶
  • 打赏
  • 举报
回复
linux下:
ctrl-c 是发送 SIGINT 信号,终止一个进程
ctrl-z 是发送 SIGSTOP信号,挂起一个进程
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF
文章出处:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/20090312/160903.html)
deep_pro 2009-12-09
  • 打赏
  • 举报
回复
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF

while(1)
{
c=getchar();
if(c==EOF)
exit(0);
}
dongjiawei316 2009-12-09
  • 打赏
  • 举报
回复
Ctrl+D 发送EOF(end-of-file)
如果你想给进程发信号的话,
可以用命令:kill -USR1 PID(进程ID) :
然后程序中有对应的信号处理函数就可以了。

23,218

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧