2

在我们的开发团队中,我们正在根据自己的需要修改驱动程序。我们需要它在 linux 文件系统中执行外部二进制文件(用户空间应用程序)。

这样做是否正确?从 linux 内核内部调用二进制文件的最佳方法是什么?系统(),弹出()?

感谢您的回答。

4

1 回答 1

5

好吧,我为我的问题找到了一个很好解释的解决方案。

char *argv[] = { "/usr/bin/logger", "help!", NULL };
static char *envp[] = {
    "HOME=/",
    "TERM=linux",
    "PATH=/sbin:/bin:/usr/sbin:/usr/bin", NULL };

return call_usermodehelper( argv[0], argv, envp, UMH_WAIT_PROC );

我需要使用 call_usermodehelper 系统调用。这个例子是不言自明的。来源:http ://www.ibm.com/developerworks/linux/library/l-user-space-apps/index.html

于 2012-07-17T06:57:05.017 回答