Hiran Chaudhuri Asked: 2022-10-15 13:36:04 +0800 CST2022-10-15 13:36:04 +0800 CST 2022-10-15 13:36:04 +0800 CST Java 二进制内核支持是否已经工作?[复制] 772 这在 Ubuntu 中是否已经可用? https://docs.kernel.org/admin-guide/java.html 有人尝试过还是只是一个理论? java 2 个回答 Voted user10489 2022-10-15T15:37:22+08:002022-10-15T15:37:22+08:00 BINFMT_MISC 长期以来一直是 linux 的一部分。 Unix 允许将任何文件视为可执行文件的历史悠久,只需将其#!/path/to/interpreter作为文件的第一行并使用chmod +x将其标记为可执行文件即可。 BINFMT_MISC 方法只是该理念的轻微扩展,其中不是将解释器名称作为文本嵌入在文件的第一行中,而是告诉内核如何识别特定的二进制类型并告诉它使用哪种解释器文件类型。 您可以通过检查 /proc/sys/fs/binfmt_misc 是否存在来检查它是否在您的系统上启用: ls -l /proc/sys/fs/binfmt_misc 如果存在,则每个受支持的 misc 可执行类型都应该有一个文件。在我的 Ubuntu 系统上,有一个名为jarjava.util 的文件。 Best Answer Hiran Chaudhuri 2022-10-16T00:48:53+08:002022-10-16T00:48:53+08:00 在 Ubuntu 20.04 上,我只是获取了一个 jar 文件,将其标记为可执行文件,并且只需将 jar 文件名放入 shell 即可运行它。这个 BINFMT 东西似乎已安装并处于活动状态。:-) $ chmod +x some.jar $ ./some.jar 这很棒!:-)
BINFMT_MISC 长期以来一直是 linux 的一部分。
Unix 允许将任何文件视为可执行文件的历史悠久,只需将其
#!/path/to/interpreter
作为文件的第一行并使用chmod +x
将其标记为可执行文件即可。BINFMT_MISC 方法只是该理念的轻微扩展,其中不是将解释器名称作为文本嵌入在文件的第一行中,而是告诉内核如何识别特定的二进制类型并告诉它使用哪种解释器文件类型。
您可以通过检查 /proc/sys/fs/binfmt_misc 是否存在来检查它是否在您的系统上启用:
如果存在,则每个受支持的 misc 可执行类型都应该有一个文件。在我的 Ubuntu 系统上,有一个名为
jar
java.util 的文件。在 Ubuntu 20.04 上,我只是获取了一个 jar 文件,将其标记为可执行文件,并且只需将 jar 文件名放入 shell 即可运行它。这个 BINFMT 东西似乎已安装并处于活动状态。:-)
这很棒!:-)