在Linux系统中,设备文件是一个可以让用户和内核直接进行交互的特殊文件。它们可以是终端、串行接口、USB设备等等。当用户与设备进行交互时,设备文件会被打开,并保持打开状态,直到用户将其关闭为止。然而,在某些情况下,我们需要关闭设备文件,这篇文章将介绍如何在Linux上关闭设备文件。
10年积累的网站设计制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有凤凰免费网站建设让你可以放心的选择与我们合作。
之一步:查找打开的设备文件
在关闭设备文件之前,我们需要确定哪些设备文件已经被打开。我们可以使用fuser命令来查看所有正在使用中的设备文件。比如,我们要查看串口设备/dev/ttyUSB0是否被打开:
sudo fuser -v /dev/ttyUSB0
执行该命令的输出应该类似于下面的内容:
USER PID ACCESS COMMAND
/dev/ttyUSB0: root 1229 F…. bash
从输出可以看出,设备文件/dev/ttyUSB0已经被shell中的bash进程打开,并且进程的PID为1229。
第二步:关闭设备文件
一旦我们确认了设备文件被哪个进程打开了,我们可以使用命令kill来关闭设备文件。比如,如果我们要关闭串口设备/dev/ttyUSB0,我们可以执行如下命令:
sudo kill -9 1229
执行该命令的输出应该类似于下面的内容:
USER PID ACCESS COMMAND
/dev/ttyUSB0: root 1229 F…. bash
USER PID ACCESS COMMAND
/dev/ttyUSB0: root 1229 ..c.. bash
从输出可以看出,串口设备/dev/ttyUSB0原来被bash进程打开,并且进程的PID为1229。通过执行kill -9 1229命令,我们成功地关闭了该设备文件。
在Linux系统中,设备文件是一个非常重要的组成部分。由于设备文件可以与内核直接进行交互,因此,在某些情况下,我们可能需要关闭设备文件。为了关闭设备文件,我们需要首先查找正在使用设备的进程,然后使用kill命令关闭设备文件。当然,我们在关闭设备文件之前需要确保不会对其他用户或进程造成影响。
成都网站建设公司-创新互联,建站经验丰富以策略为先导10多年以来专注数字化网站建设,提供企业网站建设,高端网站设计,响应式网站制作,设计师量身打造品牌风格,热线:028-86922220mount /dev/sdb1 挂载U盘(sdb1)到 mnt/下 ;
/mnt/u,mount /dev/sdb1 /mnt/u >/dev/null 2>&1
就是挂载mount /dev/sdb1设备到/mnt/u 下,其中dev/sdb1为设备名,/mnt/u 为挂载点;>为输出流重导向,将错误导到/dev/null 内,dev/null为linux的“垃圾桶”。2>&1是用来判断对错的!比如你的mnt/u,mount /dev/sdb1 /mnt/u 目录或设备不存在或不正确!
祝你成功
来自:寒枫
mount /dev/sdb1 /mnt/u >/dev/null 2>&1这句话的意思是挂载sdb1(一般为
U盘
设备)设备到/mnt/u目录,并将标准输出及标准错误输出重定向到控设备文件。
” >/dev/null 2>&1 “常用来避免shell命令或者程序等运行中有内容输出。
说明:
(1)mount是磁盘挂载命令,用于挂载设备到目录。
(2)>表示重定向到
(3)/dev/null表示linux的空设备文件
(4)2>&1表示标准错误输出重定向等同于标准输出,这里的2表示标准错误输出,&1表示等同于1(标准输出),因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
其中(4)中的数字2,1说明:
0:表示键盘输入(stdin)
1:表示标准输出(stdout),系统默认是1
2:表示错误输出(stderr)
>/dev/null意思是吧标准输出,输出到/dev/null,/dev/null你可以理解成无底洞
2>&1意思就是把错误输出,输出到标准输出用的设备上,也就是/dev/null
整合意思就是执行命令后,把所有的信息都不显示出来,哪怕是错误信息也不显示
你可以看看shell的重定向
mount /dev/sdb1 挂载U盘(sdb1)到 mnt/下 ;
/mnt/u,mount /dev/sdb1 /mnt/u >/dev/null 2>&1
就是挂载mount /dev/sdb1设备到/mnt/u 下,其中dev/sdb1为设备名,/mnt/u 为挂载点;>为输出流重导向,将错误导到/dev/null 内,dev/null为linux的“垃圾桶”。2>&1是用来判断对错的!比如你的mnt/u,mount /dev/sdb1 /mnt/u 目录或设备不存在或不正确
你可以上这个网站查查
&
mount
都禁用了,你想怎么控制你机器呢
禁用后依旧可以远程管理
xinput 来禁用/启用输入设备。我经常用 synclient 来关掉我的触摸板, 或者用 xinput 来关闭我的笔记本键盘。
之一步我们需要先拿到设备的名字或者ID:
$ xinput list
⎡ Virtual core pointerid=2
⎜ ↳ Virtual core XTEST pointer id=4
⎜ ↳ USB Optical Mouseid=8
⎜ ↳ SynPS/2 Synaptics TouchPad id=7
⎣ Virtual core keyboardid=3
↳ Virtual core XTEST keyboard id=5
↳ Sleep Button id=9
↳ Power Button id=10
↳ Video Bus id=11
↳ AT Translated Set 2 keyboardid=6
在这里触摸板的名字是 ‘SynPS/2 Synaptics TouchPad’ ID是 7;
键盘的名字是 ‘AT Translated Set 2 keyboard’ ID是 6.
下一步我们要知道设备都有什么属性:
$ xinput list-props ‘AT Translated Set 2 keyboard’
Device ‘AT Translated Set 2 keyboard’:
Device Enabled (127): 1
键盘只有一个属性 ‘Device Enabled’ 他的值是 1,意思就是说键盘是打开状态的。
我们来尝试关掉它:
sleep 0.1 ; xinput set-prop ‘AT Translated Set 2 keyboard’ ‘Device Enabled’ 0 ; sleep 5 ; xinput set-prop ‘AT Translated Set 2 keyboard’ ‘Device Enabled’ 1
开头 sleep 0.1 的目的是要留出时间让你执行当前命令时所敲的回车的按键(keypress)事件能够完成, 我猜测当你按下回车时命令就会执行并把键盘禁用,但雀陵敏是按键弹起(keyup)还没有被发送,所以X会以为你一直按这回车键。
另一个更简单的用法是用ID来进行操作,这样你就不顷枝需要输入一大长串的名字了:
sleep 0.1 ; xinput set-prop; sleep 5 ; xinput set-prop
键盘的ID是8, 属性 ‘Device Enabled’ 的ID是127。 当你用 list-props 列出设备属性时, 在属性名后面的数字就是汪亮属性的ID。 像 ‘Device Enabled’ 的ID总是 127,但是设备的ID就不一样,它跟设备的连接时间有关,一般越先连接的设备ID越小,之后会越来越大。
关于linux关闭设备文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联科技公司主营:网站设计、网站建设、小程序制作、成都软件开发、网页设计、微信开发、成都小程序开发、网站制作、网站开发等业务,是专业的成都做小程序公司、成都网站建设公司、成都做网站的公司。创新互联公司集小程序制作创意,网站制作策划,画册、网页、VI设计,网站、软件、微信、小程序开发于一体。
当前标题:如何在Linux上关闭设备文件?(linux关闭设备文件)
浏览路径:http://www.shufengxianlan.com/qtweb/news34/172234.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联