gpt4 book ai didi

linux - 在 Mono 中锁定 Linux 串行端口或其他设备

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:26 24 4
gpt4 key购买 nike

在 Linux 中,应用程序通常通过在 /var/lock/ 中创建相应的锁定文件来锁定串行端口以独占使用,其名称类似于 LCK..ttyS1

Mono 是否实现了串行端口的锁定?我发现this bug report这表明事实并非如此。

Mono 是否提供用于锁定其他 Linux 设备的库,例如自定义字符设备 /dev/custom-char-device 通过 /var/lock/LCK..custom-char-device

(注意:现在我什至不确定在 Linux 中锁定串行端口的“正确方法”是什么;请参阅 my other question 。)

最佳答案

据我所知,在 Linux 中使用 flock() 锁定串行端口或其他设备是可行的方法(遵循 Debian 在 Debian bug #734086 中的领先)。

我发现了一个advisory locking example in Mono C# ,但是它使用 fcntl() 锁定而不是 flock() 锁定,并且 these two methods are different in Linux .

所以我认为有必要使用 native 帮助程序库来提供flock(),它是通过 Interop with Native Libraries 调用的。 flock() 函数需要传递一个 native 文件描述符,该描述符可以通过 fs.SafeFileHandle.DangerousGetHandle()FileStream 获取。

关于linux - 在 Mono 中锁定 Linux 串行端口或其他设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29482327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com