若果不了解Linux系统线上操作替换文件的话,很容易造成在cp时出现textfilebusy错误提示,所以把握Linux系统线上操作替换文件是很重要的linux通配符,下边随小编一上去了解下吧。

linux mmap 文件_Linux线上替换文件_cp text file busy错误

近来发觉好多哦鞥有不晓得线上操作替换文件的要点。所以系统之家的小编又整理了一下linux基础教程,便于你有个了解。

cp text file busy错误_Linux线上替换文件_linux mmap 文件

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

缘由:cp是将源文件截断之后写入新内容。也就是说正在打开这个文件的进程可以立即感知到更改。更改文件内容很可能造成程序逻辑错误甚至崩溃。而mv则是标记”删除“老文件,之后放一个新的同名文件过去。也就是说老文件和新文件或许是两个不同文件(inode不同),只是名子一样而已。正在打开老文件的进程不会遭到影响。假如进程使用了mmap打开某文件(例如载入so)linux mmap 文件linux mmap 文件,假如目标文件被使用cp覆盖而且厚度变小。这么读取差额部份的地址时(在新文件中虽然早已不存在了),会造成SIGBUS讯号。使进程崩溃。

cp text file busy错误_linux mmap 文件_Linux线上替换文件

至于可执行文件本身。倒是不怕cp造成崩溃。。由于cp时会报”textfilebusy“。压根cp不了。这时侯也应当使用mv类操作。替换完成后重启进程。执行的就是新的可执行文件了。

cp text file busy错误_Linux线上替换文件_linux mmap 文件

里面就是Linux系统线上操作替换文件的注意事项的介绍了,若果你在cp时提示textfilebusy的话,可能就是操作方面的错误了,应改为mv类操作。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复