目的:板子上一插上网线,eth1就能自动获取IP,这应该是属于热插拔事件机制,
于是,百度了一下,看到下面这篇博客
http://blog.csdn.net/bingqingsuimeng/article/details/7924300
摘取里面一段内容:
call_usermodehelper 在kobject_uevent_env函数中要调用的用户空间程序由uevent_helper[0]来指定,所以如果我们能控制这个 uevent_helper[0],就能接收到设备加入系统移出系统等事件。那个if中的kobj_usermode_filter条件一般都会满足(除 非这是个特别注意个人隐私的设备,那就不好说了,人家偷偷加入系统就是不想让你知道你也没有办法,但是udev还是能知道的)。
在/sys/kernel目录下找到uevent_helper这个文件。
然后写个脚本文件myhotplug.sh放在/sbin里面,内容就是
#!/bin/sh
/sbin/udhcpc -i eth1
记得更改脚本文件的 权限,chmod a+x myhotplug.sh
如果直接把脚本打入/sys/kernel/uevent_heper文件里面的话,重开机就会消失的。
于是,我便在/etc/profile脚本文件里面写上这句话
echo “/sbin/myhotplug.sh” > /sys/kernel/uevent_helper
让它开机自动执行那条指令。
这样就弄完了,实现过程就是一有热插拔事件发生,就执行/sbin/myhotplug这个脚本文件,这个脚本文件就是让eth1重新自动获取IP,也就是重启eth1 这个网卡的DHCP服务。
于是,百度了一下,看到下面这篇博客
http://blog.csdn.net/bingqingsuimeng/article/details/7924300
摘取里面一段内容:
call_usermodehelper 在kobject_uevent_env函数中要调用的用户空间程序由uevent_helper[0]来指定,所以如果我们能控制这个 uevent_helper[0],就能接收到设备加入系统移出系统等事件。那个if中的kobj_usermode_filter条件一般都会满足(除 非这是个特别注意个人隐私的设备,那就不好说了,人家偷偷加入系统就是不想让你知道你也没有办法,但是udev还是能知道的)。
在/sys/kernel目录下找到uevent_helper这个文件。
然后写个脚本文件myhotplug.sh放在/sbin里面,内容就是
#!/bin/sh
/sbin/udhcpc -i eth1
记得更改脚本文件的 权限,chmod a+x myhotplug.sh
如果直接把脚本打入/sys/kernel/uevent_heper文件里面的话,重开机就会消失的。
于是,我便在/etc/profile脚本文件里面写上这句话
echo “/sbin/myhotplug.sh” > /sys/kernel/uevent_helper
让它开机自动执行那条指令。
这样就弄完了,实现过程就是一有热插拔事件发生,就执行/sbin/myhotplug这个脚本文件,这个脚本文件就是让eth1重新自动获取IP,也就是重启eth1 这个网卡的DHCP服务。