我遇到个问题,vsftpd在上传的时候,如果app_tcp(程序)正在运行,则远程无法拷贝,出现Could not create file. 533错误,如果killall app_tcp的时候,再上传就能覆盖了 感觉很奇怪 请问一下,运行程序的权限会发生变化吗 还有就是我上传到本地,然后再CP,即使程序运行也能覆盖。请问为什么不能直接覆盖?
tony2:
程序运行的时候就是不能覆盖啊。覆盖就是相当于先删除,后写入
zai Jonathan:
是这样的,以前我们用别的平台nuvoton 2.6.17内核的时候用pure-ftpd来实现的是能够直接覆盖的(这个人已经离职了)。现在我们用am335x 3.2.0内核 vsftpd,请问有没有什么办法能够解决file text busy,程序被自身进程锁定问题。vsftpd有没有强制覆盖类似的功能。或者如果需要修改vsftpd代码的话,能够在那块修改。
zai Jonathan:
回复 zai Jonathan:
还有就是在ftp上面试验过,能删除,然后在写入。但是我们要求直接覆盖。这样用户在更新系统的时候就不会出现因为误删所引起的系统问题。
kooking:
回复 zai Jonathan:
可以发一个消息过去,把open的方便close掉就可以覆盖了吧
zai Jonathan:
回复 kooking:
能否说具体点,是不是打开文件的时候要制定flock锁的问题。如果用share锁能否实现这样的直接覆盖问题。
zai Jonathan:
回复 zai Jonathan:
这个可以用一个脚本程序实现类似的问题,这个脚本可以把原来程序备份一下,然后删掉原来的,这样锁就自然而然解除掉了。