Linux call_usermodehelper()
2012-03-05 17:39
381 查看
先写个简单的例子
Makefile
#include <linux/init.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/kernel.h> #include <linux/sched.h> MODULE_LICENSE("DualBSD/GPL"); static __init int hello_init(void) { int result = 0; char cmd_path[] = "/usr/bin/touch"; char *cmd_argv[] = {cmd_path, "/home/jjw/test.txt", NULL}; char *cmd_envp[] = {"HOME=/", "PATH=/sbin:/bin:/user/bin", NULL}; result = call_usermodehelper(cmd_path, cmd_argv, cmd_envp, UMH_WAIT_PROC); printk(KERN_DEBUG"THe result of call_usermodehelper is %d\n", result); return result; } static __exit void hello_exit(void) { int result = 0; char cmd_path[] = "/bin/rm"; char *cmd_argv[] = {cmd_path, "/home/jjw/test.txt", NULL}; char *cmd_envp[] = {"HOME=/", "PATH=/sbin:/bin:/user/bin", NULL}; result = call_usermodehelper(cmd_path, cmd_argv, cmd_envp, UMH_WAIT_PROC); printk(KERN_DEBUG"THe result of call_usermodehelper is %d\n", result); } module_init(hello_init); module_exit(hello_exit);
Makefile
obj-m := hello.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules clean: rm -rf *.o *.ko *.mod* *.order *.sym*
相关文章推荐
- Linux驱动层调用应用层程序--call_usermodehelper()
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序
- 通过call_usermodehelper()在内核态执行用户程序【转】
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序
- hotplug启动过程之call_usermodehelper分析
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序
- call_usermodehelper()函数
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序(转)
- call_usermodehelper() ---让内核空间的驱动程序启用用户空间的若干应用程序
- call_usermodehelper使用实例
- call_usermodehelper()函数简介
- 使用call_usermodehelper在Linux内核中直接运行用户空间程序
- 在fedora7上构建UML(User mode linux)(一)
- Linux内核追踪[3.14] 用户态死锁检测--UserMode lockdep
- linux下qt中 调用open函数 出现call to '__open_missing_mode' declared with attribute error。。解决
- 在fedora7上构建UML(User mode linux)(二)