udev的使用方法(示例)

本文介绍如何通过配置udev规则实现U盘插入自动启动httpd服务,及U盘拔出时自动停止服务的过程。文中详细展示了如何监测USB设备属性,并据此设定udev规则文件来触发服务的启动与停止。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

配置udev规则 实现U盘起服务

 

查看移动设备属性

先打命令,然后插入移动存储设备。读取设备属性

[root@localhost 桌面]# udevadm monitor --property

然后挑选几个条件作为规则

 

 

udev下创建一个扩展名为rules的文件、在里面写入设置的规则

[root@localhost 桌面]# vim /etc/udev/rules.d/mydisk.rules

SUBSYSTEM=="usb",ACTION=="add",ENV{ID_VENDOR}=="Western_Digital",ENV{ID_VENDOR_ID}=="1058",NAME="mydisk%n",RUN+="/etc/init.d/httpd start"

SUBSYSTEM=="usb",ACTION=="remove",ENV{ID_VENDOR}=="Western_Digital",ENV{ID_VENDOR_ID}=="1058",NAME="mydisk%n",RUN+="/etc/init.d/httpd stop"

 

 

检查httpd服务状态为停止状态:

[root@localhost 桌面]# /etc/init.d/httpd status

httpd 已停

 

插入移动设备

[root@localhost 桌面]# /etc/init.d/httpd status

httpd (pid  1921) 正在运行...

拔掉移动设备

[root@localhost 桌面]# /etc/init.d/httpd status

httpd 已停


博主提醒:分享是一种美德!共同发展才是王道!请留下你们的足迹!让我们共同进步!!



假设我们有一个USB设备插入到系统中,我们希望在插入时执行一个脚本来自动挂载该设备并将其添加到系统中。 首先,我们需要创建一个udev规则文件,以便在插入设备时自动触发该脚本。我们可以在/etc/udev/rules.d/目录下创建一个新的规则文件,例如我们可以创建一个名为“10-usb-mount.rules”的文件,其中包含以下内容: ACTION=="add", KERNEL=="sd*", SUBSYSTEMS=="usb", RUN+="/path/to/mount_script.sh %k" 在这个规则文件中,“ACTION==”add””表示当设备被添加到系统中时触发该规则,“KERNEL==”sd*””表示匹配以“sd”为前缀的设备,例如“sda”、“sdb”等等,“SUBSYSTEMS==”usb””表示匹配USB子系统中的设备,最后,“RUN+=”/path/to/mount_script.sh %k””表示在匹配设备时运行一个脚本文件“mount_script.sh”,并将设备的内核名称传递给该脚本。 接下来,我们需要编写一个脚本文件“mount_script.sh”,以便在设备插入时自动挂载该设备。以下是一个示例脚本: #!/bin/bash DEVNAME=$1 MOUNTPOINT=/media/usb mkdir -p $MOUNTPOINT mount /dev/$DEVNAME $MOUNTPOINT 在这个脚本中,“$1”表示我们从udev规则中传递的内核名称,我们将其存储在变量“DEVNAME”中。然后,我们定义了一个挂载点“/media/usb”,并使用“mkdir -p”命令创建该目录(如果它不存在)。最后,我们使用“mount”命令将设备挂载到该挂载点上。 完成上述步骤后,我们只需要重新加载udev规则并重新插入设备即可自动执行脚本并挂载设备。这可以通过以下命令完成: sudo udevadm control --reload-rules sudo udevadm trigger 现在,每当我们插入一个USB设备时,udev将自动触发我们的脚本并自动挂载该设备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值