![什么是 EL2HLT、EL3HLT、EL3RST?](https://linux22.com/image/168428/%E4%BB%80%E4%B9%88%E6%98%AF%20EL2HLT%E3%80%81EL3HLT%E3%80%81EL3RST%EF%BC%9F.png)
有一个线程关于依诺,解释了一个仍然存在的晦涩难懂的 errno 宏。
我想同样询问这些 errno 值:什么是地狱他们是为了什么?
- EL2HLT“2 级已停止”
- EL2NSYNC“2 级未同步”
- EL3HLT“3 级停止”
- EL3RST“3级复位”
尽管我基本上设法破译了所有其他神秘的 errno 值(显然有些来自 RFS,其他来自 STREAMS),但实际上我发现的关于这四个值的唯一线索是,在 Linux 上,<include/asm-sparc/solerrno.h>
引用了“运行级别”,因此它们可能是与某个替代时间线中的 Solaris init 系统相关。
答案1
我观察了 EL2NSYNC 和 EL2HLT 以及通过串行端口和 n_gsm / 07.10 GSM 多路复用协议连接的 GSM 调制解调器。 GSM 多路复用创建了一堆虚拟串行端口 (/dev/gsmttyXX),这些端口在单个物理串行端口上进行多路复用。如果底层复用协议出现同步问题或其他协议错误
open()
EL2NSYNC 或 EL2HLT 失败。
答案2
在这个讨论EL2HLT 是错误代码,如果连接到需要(我认为)另一个进程运行或存在内核级线程的东西(?。)
如果该进程不存在或缺少其他内容,则此错误代码会告诉程序缺少哪些基本内容。
这可能包括打开并读取 SAN 提供的存储介质上的文件,但接口(FC 或以太网)已关闭。