Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在将一个程序从 tru64 重新托管到 linux。我在 C man getsysinfo中找不到 getsysinfo(GSI_BOOTEDFILE,...) 的替代品
如何获取当前运行的内核在 C 中的 SUSE11 下启动的文件的名称?我没有解决方案。谢谢
有/proc/version,/proc/cmdline哪个会告诉你正在运行的内核的版本信息以及在其命令行上传递给它的选项。
/proc/version
/proc/cmdline
在这两个文件之间,您应该能够确定哪个内核正在运行,除非由于某种原因您有多个相同版本的内核文件。
没有通用的方法可以做到这一点,而且并不总是可行的——例如,如果机器是 PXE 引导的,或者它是嵌入式系统,那么内核可能根本不存在于磁盘上。在 x86 系统上,您可以通过尝试解析 lilo/grub 配置来进行猜测,但这不会给出可靠的结果。