小编典典

从C,C ++在Linux中发布系统命令

linux

我知道在DOS / Windows应用程序中,您可以使用以下代码行从系统发出系统命令:

system("pause");

要么

system("myProgram.exe");

…来自stdlib.h。是否有类似的Linux命令,如果可以,我可以在哪个头文件中找到它?

另外,这被认为是不好的编程习惯吗?我正在考虑尝试使用该lsmod命令获取已加载的内核模块的列表。这是个好主意还是坏主意?我发现一些网站似乎对系统调用(至少是system(“
pause”);)持负面看法。


阅读 328

收藏
2020-06-02

共1个答案

小编典典

毫不奇怪,命令仍然

system("whatever");

并且标题仍然是stdlib.h。该头文件的名称表示“标准库”,这意味着它在所有支持C的标准平台上。

是的,打电话system()通常是个坏主意。通常有更多的编程方式来做事。

如果您想了解其lsmod工作原理,则始终可以查找其源代码,并查看其主要系统调用是什么。然后自己使用这些呼叫。

快速的Google搜索打开了此链接,表明该链接lsmod正在读取的内容/proc/modules

2020-06-02