社区
驱动开发/核心开发
帖子详情
Linux如何强行释放其他进程持有的文件锁
影子传说_Hades
2011-09-20 10:49:11
现在的问题是有个A,A会对某文件进行加锁读写。
如何才能将A持有的文件锁强行释放呢?
如果使用Linux内核编程是否能够做到?
大家给点提示,有代码就更感谢了。
...全文
277
4
打赏
收藏
Linux如何强行释放其他进程持有的文件锁
现在的问题是有个A,A会对某文件进行加锁读写。 如何才能将A持有的文件锁强行释放呢? 如果使用Linux内核编程是否能够做到? 大家给点提示,有代码就更感谢了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
影子传说_Hades
2011-09-22
打赏
举报
回复
就是强行是否其他进程持有的某个文件的文件锁,但不杀死这个进程
cqbamboo
2011-09-21
打赏
举报
回复
理论上应该可以,没做过,帮不上什么忙
记得Windows下面有个小软件,像个魔法棒一样的,可以解锁文件,UNIX应该也有
woshi_ziyu
2011-09-21
打赏
举报
回复
[Quote=引用楼主 mysticality 的回复:]
现在的问题是有个A,A会对某文件进行加锁读写。
如何才能将A持有的文件锁强行释放呢?
如果使用Linux内核编程是否能够做到?
大家给点提示,有代码就更感谢了。
[/Quote]
加锁 没作过
xg1410
2011-09-21
打赏
举报
回复
什么锁
Linux
系统编程第05期:
进程
间通信
第 3 步:
Linux
系统编程 第00期:
Linux
系统编程入门 第01期:揭开
文件
系统的神秘面纱 第02期:
文件
I/O编程实战 第03期:I/O缓存与内存映射 第04期:打通
进程
与终端的任督二脉 第05期:
进程
间通信------------------...
怎么通过
Linux
调用命令查找到死
锁
死
锁
简单概要 产生的原因: 系统资源竞争
进程
推进顺序非法 死
锁
产生的必要条件 互斥条件:
进程
要求对所分配的资源进行排他型控制,即在一段时间内,某个资源仅为一个
进程
所占有 不可剥夺条件:
进程
所获得的资源在未使用完毕之前,不能被其他
进程
强行
夺走,即只能由获得该资源的
进程
自己来主动
释放
请求和保持条件:
进程
已经保持了至少一个资源,但又提出了新的资源请求,而该资源已被其他
进程
占有,此时请求
进程
被阻塞,但对自己已获得的资源保持不放 循环等待条件:存在一种
进程
资源的循环等待链,链中每一个
进程
已获得的资源同时被
Linux
锁
与
进程
间通信
引言 本文整理了
Linux
内核中
锁
与
进程
间通讯的相关知识。
锁
与
进程
间通讯 前面介绍系统调用时就提到了信号这一
进程
间通讯手段,这一节我们详细的介绍各种
进程
间通讯的机制(IPC)。和 IPC 相关的多
进程
交互过程势必会牵扯到同步机制,所以在这一节中我们先会介绍
锁
的相关内容。
锁
在讲述内核的各种
进程
间通信 (inter process communication,IPC) 和数据同步机制之前,我们简单讨论一下相互通信的
进程
彼此干扰的可能情况,以及如何防止。假如两个
进程
通过共享内存的方式使用了同一计数器,
Linux
内核:
进程
管理——死
锁
检测与解决
所谓安全序列,就是指如果系统按照这种序列分配资源,则每个
进程
都能顺利完成。只要能找出一个安全序列,系统就是安全状态。当然,安全序列可能有多个。如果分配了资源之后,系统中找不出任何一个安全序列,系统就进入了不安全状态。这就意味着之后可能所有
进程
都无法顺利的执行下去。当然,如果有
进程
提前归还了一些资源,那系统也有可能重新回到安全状态,不过我们在分配资源之前总是要考虑到最坏的情况。【比如A 先归还了10亿,那么就有安全序列T→B → A】如果系统处于安全状态,就一定不会发生死
锁
。
Linux
学习_
进程
(7)——工作在幕后
在上面测试中,首先第一次以后台方式运行了 testApp 程序,之后再运行 testApp 程序,由于
文件
已经存在,所以 open()调用会失败,所以意味着
进程
正在运行中,所以会打印相应的字符串然后退出。同样也需要通过一个特定的
文件
来实现,当程序启动之后,首先打开该
文件
,调用 open 时一般使用 O_WRONLY | O_CREAT 标志,当
文件
不存在则创建该
文件
,然后尝试去获取
文件
锁
,若是成功,则将程序的
进程
号(PID)写入到该
文件
中,写入后不要关闭
文件
或解
锁
(
释放
文件
锁
),保证
进程
一直
持有
该
文件
锁
;
驱动开发/核心开发
21,600
社区成员
21,708
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章