首页 > 解决方案 > 如何从内核空间重定向命令的标准输出

问题描述

我需要使用 linux 用户模式帮助器 api 重定向从内核空间调用的命令的标准输出。下面以“echo”命令为例。这不起作用。

static int    umh_helper() {
struct subprocess_info *sub_info;
char *argv[] = {"/bin/echo", "Hi", ">", "/tmp/command.out", NULL};
static char *envp[] = {
    "HOME=/root",
    "TERM=linux",
    "PATH=/bin:/sbin:/bin:/usr/sbin:/usr/bin", NULL };
return call_usermodehelper( argv[0], argv, envp, UMH_WAIT_PROC );
}

我需要运行的命令不支持将文件名作为输入参数直接将输出写入文件的方法,因此我需要这样做。

标签: clinuxlinux-kernelstdoutusermode

解决方案


推荐阅读