当前位置: 技术问答>linux和unix
如何防止删除linux上已经打开的文件
来源: 互联网 发布时间:2016-03-21
本文导语: 我遇到一个问题:在linux上防止已经打开的文件被删除或改名(包括对含有打开文件的目录的删除和改名)? 请高人指点! 也欢迎大家讨论! | fuser 这个命令可以,详细的你可以man fuser这个...
我遇到一个问题:在linux上防止已经打开的文件被删除或改名(包括对含有打开文件的目录的删除和改名)?
请高人指点!
也欢迎大家讨论!
请高人指点!
也欢迎大家讨论!
|
fuser 这个命令可以,详细的你可以man fuser这个命令
|
严格的说是做不到,设置锁是需要其他程序主动配合的,是建议锁。unix svr4系统提供了一种强制锁机制,即对该文件执行权限位设置调整组ID,并且组的执行权限位必须关闭,在此基础上,再使用fcntl设置锁,就会由系统强制保证。
|
flock(fd, LOCK_EX);
|
flock
|
#include
#include
#define LOCKFILE "wycdzdrq.pid"
#define LOCKMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
int already_running(void)
{
int fd;
char buf[16];
struct flock fl;
fd = open(LOCKFILE,O_RDWR|O_CREAT,LOCKMODE);
if(fd
#include
#define LOCKFILE "wycdzdrq.pid"
#define LOCKMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
int already_running(void)
{
int fd;
char buf[16];
struct flock fl;
fd = open(LOCKFILE,O_RDWR|O_CREAT,LOCKMODE);
if(fd
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!