c - 如何在内核编程中执行shell命令?

标签 c ubuntu linux-kernel kernel-module

我想在我的 C 代码中使用 stdlib.hsystem() 函数。我实际上正在从事内核编程。

每当我想在其中使用 system() 时,它都会向 stdlib.h 报错,说没有找到这样的文件。

最佳答案

很简单!

#include <linux/kmod.h>

char * envp[] = { "HOME=/", NULL };
char * argv[] = { "/bin/ls", NULL };

call_usermodehelper(argv[0], argv, envp, UMH_WAIT_EXEC);

关于c - 如何在内核编程中执行shell命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15676667/

相关文章:

c - 在不使用 break 的情况下终止输入为 -1 时的数组输入?

assembly - 我可以在 gdb 下打印 gdtr 和 gdt 描述符吗?

linux-kernel - 如何查找 dma_request_chan() 失败原因详细信息?

linux - 为什么 call_usermodehelper 大多数时候都失败了?

c++ - ReadFile(m_hComm, &cadena[rebut]==0, 1, &recibiendo, NULL);

c - useDynLib() 错误且compileAttributes 不返回任何内容 : embedding a C library into an R package

c - 为什么我的函数静态变量尽管增加了却永远不变?

ubuntu - 在哪里可以找到 ubuntu 16.04 中可用的配色方案?

mysql - 在 Ubuntu 上移动 MYSQL 数据文件夹

postgresql - ErrorException pg_query() : Query failed: ERROR: relation &quot;5432posts&quot; does not exist LINE 2: FROM &quot;5432posts&quot;