有什么方法可用,专门打开设备文件(比如显示帧缓冲区)?
[信息:我已经知道flock()和朋友,只有当其他应用程序也在使用它(换句话说,open()会成功,但flock()会失败,如果已经locking) – >但是仍然可以使用从open()中获取的设备句柄来写入显示..]
那么当我想对设备文件强制执行这种独占访问的情况呢? 这样的执法怎么可能呢?
提前致谢!
如果您想要获得设备的独占访问权限,请在/var/lock
创建一个锁定文件。 可以通过open("my_device.lock", O_CREAT|O_EXCL, 0777)
创建锁定文件的进程可以访问设备,其他进程必须等待。 使用设备完成该过程后,将删除该文件。
这种锁只是建议性的,并不能保证没有其他进程(你不知道)访问设备。
尝试lockf() :在打开的文件上应用,测试或移除POSIX锁
要打开一个设备,你应该在linux中使用开放的系统调用 ,并检查可用设备的列表,例如/ dev / ttyUSB0或/ dev / ttyS0等,然后打开它,你将得到一个描述符来读写设备你打开一个设备进行通信。 要了解更多详细信息,请点击以下链接: http : //www.firmcodes.com/lower-level-file-handling-in-linux/