gpt4 book ai didi

c - 在内核模块中执行shell命令

转载 作者:IT王子 更新时间:2023-10-29 01:04:15 26 4
gpt4 key购买 nike

是否可以在内核模块中执行 shell 命令。我知道我们可以使用 system 子例程在用户空间 C 代码中完成它。
我正在调试有内存泄漏问题的内核模块。在无限循环中执行 insmod 和 rmmod module.ko 后,系统在 8G RAM 的情况下在几分钟内内存不足。
在调用负责释放内存的 API 之前和之后使用 free 命令了解内存状态会很有帮助,这样我就可以知道 API 是否正常工作。
这就是我调试的方式。如果有任何其他方法,请分享。

最佳答案

您可以使用call_usermodehelper 函数。在 LXR#1 查看如何使用它的示例或 LXR#2 .

更新:

argv[0] = "/bin/bash";
argv[1] = "-c";
argv[2] = "/usr/bin/free";
argv[3] = NULL;

envp[0] = "HOME=/";
envp[1] = "TERM=linux";
envp[2] = "PATH=/sbin:/usr/sbin:/bin:/usr/bin";
envp[3] = NULL;

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

关于c - 在内核模块中执行shell命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11193648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com