linux怎么锁住串口,禁止其他程序使用,即禁止其他程序进行读写 *** 作,即使是root用户也不允许读

linux怎么锁住串口,禁止其他程序使用,即禁止其他程序进行读写 *** 作,即使是root用户也不允许读,第1张

应该是没有这样的办法的。

linux系统基本上不会禁止root的权限,即使你想办法禁止了,也有办法打开,除非那不是真正的root。

你应该换一个思路来解决你的问题。比如除了你的程序,没有其他程序运行在这台电脑上,没有其他用户有权访问这台电脑,不就解决了吗?

使用文件

应用开启的时候就创建一个文件锁

可以参考文件锁flock

/>cat >test26.sh

#!/bin/sh

#1. 这里需要先确认flock命令是否存在。

if [ -z $(which flock) ]then

echo "flock doesn't exist."

exit 1

fi

#2. flock中的-e选项表示对该文件加排它锁,-w选项表示如果此时文件正在被加锁,当前的flock命令将等待20秒,如果能锁住该文件,就继续执行,否则退出该命令。

#3. 这里锁定的文件是/var/lock/lockfile1,-c选项表示,如果成功锁定,则指定其后用双引号括起的命令,如果是多个命令,可以用分号分隔。

#4. 可以在两个终端同时启动该脚本,然后观察脚本的输出,以及lockfile1文件的内容。

flock -e -w 20 /var/lock/lockfile1 -c "sleep 10echo `date` | cat >>/var/lock/lockfile1"

if [ $? -ne 0 ]then

echo "Fail."

exit 1

else

echo "Success."

exit 0

fi


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7551586.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存