プログラムを tru64 から Linux にリホストしています。C man getsysinfoで getsysinfo(GSI_BOOTEDFILE,...) の代わりが見つかりません
現在実行中のカーネルが C の SUSE11 で起動されたファイルの名前を取得するにはどうすればよいですか? 私は解決策がありません。ありがとうございました
実行中のカーネルのバージョン情報と、コマンドラインで渡されたオプションを教えてくれる と があり/proc/version
ます。/proc/cmdline
何らかの理由で同じバージョンの複数のカーネル ファイルが横たわっていない限り、これら 2 つのファイルの間で、どのカーネルが実行されているかを判断できるはずです。
これを行う一般的な方法はなく、常に可能であるとは限りません。たとえば、マシンが PXE ブートされている場合、または組み込みシステムの場合、カーネルがディスク上にまったく存在しない可能性があります。x86 システムでは、lilo/grub 構成を解析して推測できますが、信頼できる結果は得られません。