[发明专利]一种防止多个进程访问同一任意波形发生器的方法在审
申请号: | 202111232380.8 | 申请日: | 2021-10-22 |
公开(公告)号: | CN114020481A | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 李清石;胡广建;张孝飞;刘强;金长新 | 申请(专利权)人: | 山东浪潮科学研究院有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 进程 访问 同一 任意 波形 发生器 方法 | ||
本发明提供一种防止多个进程访问同一任意波形发生器的方法,属于仪器技术领域,进程在访问由机箱号和槽位号指定的任意波形发生器之前,查看由机箱号和槽位号标识的任意波形发生器状态文件,确定该任意波形发生器是否正被或者曾被其他进程访问,如果未被访问则向任意波形发生器状态文件写入当前进程ID,并打开该任意波形发生器,如果正被或者曾被访问则尝试取消占用或者曾经占用该任意波形发生器的进程,删除与该任意波形发生器具有相同进程ID的所有任意波形发生器状态文件,创建由机箱号和槽位号标识的任意波形发生器状态文件,写入当前进程ID,并打开该任意波形发生器,之后可进行对该任意波形发生器的访问。
技术领域
本发明涉及仪器技术领域,尤其涉及一种防止多个进程访问同一任意波形发生器的方法。
背景技术
在某些前沿科技研究领域,需要大量任意波形发生器协同工作,使用PXIe机箱的方式可以满足相关研究领域对于任意波形发生器数量的需求。但是当任意波形发生器数量增多以后,用户编写控制程序时会出现不同程序访问同一任意波形发生器的情况,这会导致设备可能的混乱,需要用户在编写程序时加以避免,因此提供一种不需要用户干预就能防止多个进程访问同一任意波形发生器的方法是一个需要解决的技术问题。
发明内容
为了解决以上技术问题,本发明提供了一种防止多个进程访问同一任意波形发生器的方法。
本发明的技术方案是:
本发明的技术方案包括:
一种防止多个进程访问同一任意波形发生器的方法,进程在访问由机箱号和槽位号指定的任意波形发生器之前,查看由机箱号和槽位号标识的任意波形发生器状态文件,确定该任意波形发生器是否正被或者曾被其他进程访问,如果未被访问则向任意波形发生器状态文件写入当前进程ID,并打开该任意波形发生器,如果正被或者曾被访问则尝试取消占用或者曾经占用该任意波形发生器的进程,删除与该任意波形发生器具有相同进程ID的所有任意波形发生器状态文件,创建由机箱号和槽位号标识的任意波形发生器状态文件,写入当前进程ID,并打开该任意波形发生器,之后可进行对该任意波形发生器的访问。
进一步的,
包括以下步骤:
(1)创建或者打开任意波形发生器状态锁文件;
其中,任意波形发生器状态锁文件用于同步多个进程对任意波形发生器的打开操作以及对任意波形发生器状态文件的访问;
(2)加锁任意波形发生器状态锁文件;
其中,持有锁的进程可以打开任意波形发生器并访问任意波形发生器状态文件;
(3)尝试访问由机箱号和槽位号标识的任意波形发生器状态文件;
(4)如果任意波形发生器状态文件不存在,表示该任意波形发生器未曾被访问,创建由机箱号和槽位号标识的任意波形发生器状态文件,写入当前进程的进程ID,打开由机箱号和槽位号指定的任意波形发生器,之后可访问该任意波形发生器;
(5)如果任意波形发生器状态文件存在,表示该任意波形发生器正被或者曾被其他进程访问,读取任意波形发生器状态文件中的进程ID;
其中,任意波形发生器状态文件中的进程ID是正在访问或者曾经访问该任意波形发生器的进程的进程ID;
其中,存在存储着曾经访问该任意波形发生器的进程的进程ID的任意波形发生器状态文件是由于各种原因导致的未执行关闭任意波形发生器的操作;
(6)向读取到的进程ID所指示的进程发送取消进程的信号;
其中,如果读取到的进程ID所指示的进程已退出,执行发送信号函数时会返回进程已退出错误,忽略由进程已退出导致的错误;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮科学研究院有限公司,未经山东浪潮科学研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111232380.8/2.html,转载请声明来源钻瓜专利网。