Linux修改文件重启后无效;Linux修改文件重启后复原;Linux sync命令重要性!!!

原文地址::https://blog.csdn.net/wzying25/article/details/105518179/

相关文章

1、system(函数)----https://baike.baidu.com/item/system/15078602?fr=aladdin

2、Linux system函数返回值----https://blog.csdn.net/cheyo/article/details/6595955

3、System函数返回值 和popen----https://www.cnblogs.com/crazy-machine/articles/5720076.html

Linux修改文件重启后无效;Linux修改文件重启后复原;Linux sync命令重要性!!!

碰到的现象:

为了在linux arm开发板上实现开机自动运行脚本,修改了/etc/profile。

然后开发板断电重启,……无效,不能自动运行自己添加的脚本。查看文件/etc/profile,发现该文件竟然没有被修改到。/etc/profile文件复原了。

网上找资料,才发现,原来是 sync 的问题。

Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中。

所以,记得,Linux系统中,修改了文件,一定要记得执行 sync 命令,而且要执行多几遍。

另,write文件之后,需要调用fsync,以确保文件及时的写入硬盘。

补充:linux 同步IO: sync、fsync与fdatasync

猜你喜欢

转载自blog.csdn.net/xqhrs232/article/details/113372963