QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2890|回复: 1

如何在kernel下启动程序

[复制链接]
发表于 2006-8-23 16:14:39 | 显示全部楼层 |阅读模式
我想在内核代码中启动一个应用程序。该如何实现?

我看到在文件 drivers/sbus/char/envctrl.c中有如下代码:

#define __KERNEL_SYSCALLS__
static int errno;
#include <asm/unistd.
...
printk(KERN_CRIT "kenvctrld: WARNING: Shutting down the system now.\n");
if (0 > execve("/sbin/shutdown", argv, envp)) {
                printk(KERN_CRIT "kenvctrld: WARNING: system shutdown failed!\n");
                inprog = 0;  /* unlikely to succeed, but we could try again */
}

可是这好像是在当前的进程中执行"shutdown"程序。
我希望能够在一个新的进程中执行所需要的程序,该如何实现?

多谢!
发表于 2006-8-30 00:50:17 | 显示全部楼层
有几个函数可以执行程序,他们有一个系列exec() 之类的,你可以GOOGLE一下这些函数。
这里有LINUX下常用C函数的用法http://net.pku.edu.cn/~yhf/linux_c/index.htm
另外,你最好还去看一下fork()函数的用法。这里有个好帖子http://www.chinaunix.net/jh/23/311067.html 这个帖子的推荐了好多次了.....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 07:39 , Processed in 0.052409 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表