+ -
当前位置:首页 → 问答吧 → ctrl+c的问题

ctrl+c的问题

时间:2008-11-28

来源:互联网

在程序执行时,按下ctrl+c会使程序中止.那么这是不是一个事务型的处理过程呢?比如复制一个巨大的文件,里面有多个小文件.如果复制到一半,突中止,已经复制的文件是否已被删除?
当然,如果是事务型的当然没有问题,如果不是的话,如何处理一致性问题?

熟悉这方面知识的兄弟麻烦解释下,先谢谢了.

作者: tzfox   发布时间: 2008-11-28

Ctrl+C 是一个特殊字符,当终端读到这个字符时向当前进程发送一个 SIGINT 信号(没记错的话是 SIGINT),这个信号是可以捕获的,cp 的源代码里没有处理信号的部分,所以它应该执行默认操作即是立即退出,所以之前复制的东西不会被删除

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

作者: Vamperor   发布时间: 2008-11-28