我知道在DOS / Windows应用程序中,您可以使用以下代码行从系统发出系统命令:
system("pause");
要么
system("myProgram.exe");
…来自stdlib.h。是否有类似的Linux命令,如果可以,我可以在哪个头文件中找到它?
另外,这被认为是不好的编程习惯吗?我正在考虑尝试使用该lsmod命令获取已加载的内核模块的列表。这是个好主意还是坏主意?我发现一些网站似乎对系统调用(至少是system(“ pause”);)持负面看法。
lsmod
毫不奇怪,命令仍然
system("whatever");
并且标题仍然是stdlib.h。该头文件的名称表示“标准库”,这意味着它在所有支持C的标准平台上。
stdlib.h
是的,打电话system()通常是个坏主意。通常有更多的编程方式来做事。
system()
如果您想了解其lsmod工作原理,则始终可以查找其源代码,并查看其主要系统调用是什么。然后自己使用这些呼叫。
快速的Google搜索打开了此链接,表明该链接lsmod正在读取的内容/proc/modules。
/proc/modules