LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 620|回复: 1

ctrl+c的问题

[复制链接]
发表于 2008-11-28 12:36:13 | 显示全部楼层 |阅读模式
在程序执行时,按下ctrl+c会使程序中止.那么这是不是一个事务型的处理过程呢?比如复制一个巨大的文件,里面有多个小文件.如果复制到一半,突中止,已经复制的文件是否已被删除?
当然,如果是事务型的当然没有问题,如果不是的话,如何处理一致性问题?

熟悉这方面知识的兄弟麻烦解释下,先谢谢了.
发表于 2008-11-28 13:03:14 | 显示全部楼层
Ctrl+C 是一个特殊字符,当终端读到这个字符时向当前进程发送一个 SIGINT 信号(没记错的话是 SIGINT),这个信号是可以捕获的,cp 的源代码里没有处理信号的部分,所以它应该执行默认操作即是立即退出,所以之前复制的东西不会被删除

这里所说之前复制的是已经写到硬盘上的,还存在内存中的不算
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表