当前位置: 技术问答>linux和unix
UNIX系统下,进程写文件,写了很大量的文件,但是进程被KILL -9杀掉,系统可以保证写缓冲上的文件写到系统吗?
来源: 互联网 发布时间:2016-07-28
本文导语: UNIX系统下,进程写文件,写了很大量的文件,但是进程被KILL -9杀掉,系统可以保证写缓冲上的文件写到系统吗? | 应该是不会的, main return退出,跟exit()退出,系统都会执行清理I/O缓存的...
UNIX系统下,进程写文件,写了很大量的文件,但是进程被KILL -9杀掉,系统可以保证写缓冲上的文件写到系统吗?
|
应该是不会的,
main return退出,跟exit()退出,系统都会执行清理I/O缓存的动作,
而_exit()退出的话就不会做清理I/O缓存的动作。
kill -9我想应该是类似_exit的形为。
main return退出,跟exit()退出,系统都会执行清理I/O缓存的动作,
而_exit()退出的话就不会做清理I/O缓存的动作。
kill -9我想应该是类似_exit的形为。
|
SIGKILL 这是两个不能被捕捉或忽略信号中的一个。它向系统管理员提供了一种可以杀死任一进程的可靠方法。(kill -9)
你可以用atexit函数来检测SIGKILL后的响应。貌似是没有执行exit函数()
所以应该是只执行_exit(),没有清空缓冲区。
http://blog.csdn.net/rzphenix/archive/2008/10/09/3043964.aspx
你可以用atexit函数来检测SIGKILL后的响应。貌似是没有执行exit函数()
所以应该是只执行_exit(),没有清空缓冲区。
http://blog.csdn.net/rzphenix/archive/2008/10/09/3043964.aspx
|
你说的写缓冲指的是标准输入输出的呢? 还是内核?
后者应该是可以的
后者应该是可以的