荣新教育:坚持面授的良心机构
全国咨询热线:400-1335-066
您现在的位置:首页>技术文章 > 正文

linux在线替换操作文件

时间:2018-04-16 16:21:06 来源:荣新IT教育培训 作者:荣新科技
最近天气十分干燥,大家注意补水,好了,今天给大家分享的是关于linux线上操作替换文件。下面一起来看看吧。
linux在线替换操作文件
假如不了解Linux体系线上操作替换文件的话,很简单导致在cp时出现text file busy过错提示,所以把握Linux体系线上操作替换文件是很重要的

线上替换一个正在运转进程的文件时(包含二进制、动态库、需求读取的资源文件等)。应防止运用cp/scp操作。而需求运用mv/rsync作为代替。

原因:cp是将源文件切断然后写入新内容。也就是说正在翻开这个文件的进程能够马上感知到修正。修正文件内容很可能导致程序逻辑过错乃至溃散。而mv则是符号”删去“老文件,然后放一个新的同名文件曩昔。也就是说老文件和新文件其实是两个不同文件(inode不同),只是名字相同罢了。正在翻开老文件的进程不会受到影响。假如进程运用了mmap翻开某文件(比方载入so),假如方针文件被运用cp掩盖而且长度变小。那么读取差额部分的地址时(在新文件中其实现已不存在了),会导致SIGBUS信号。使进程溃散。

至于可履行文件自身。却是不怕cp导致溃散。。由于cp时会报”text file busy“。压根cp不了。这时候也应该运用mv类操作。替换完成后重启进程。履行的就是新的可履行文件了。

上面就是Linux体系线上操作替换文件的注意事项的介绍了,假如你在cp时提示text file busy的话,可能就是操作方面的过错了,应改为mv类操作。
文章源自荣新教育官网:www.vfast.com.cn欢迎访问,转载需注明出处