文章
· 11 hr 前 阅读大约需 2 分钟

第六章 主设备、当前设备、空设备

第六章 主设备、当前设备、空设备

明确使用主设备

USE 0USE $principal向进程的主体设备隐式发出OPEN命令。如果另一个进程拥有该设备,则该进程会挂在隐式OPEN上,就像它遇到任何OPEN时一样。

为该进程不拥有的任何其他设备(由于先前的OPEN命令)发出USE命令会产生错误。

仅当进程获取设备时,没有超时的OPEN命令才将控制权返回给进程。可以通过键盘中断命令(如Ctrl-C )中断打开命令。由于保护问题或无效设备名称而无法成功的OPEN将永远挂起。当在OPEN命令中指定超时时, OPEN将在超时到期时将控制权返回给进程。

使用主设备的选项

根据主要设备的性质,可以指定其他特定于设备的参数,这些参数对于管道(进程间通信) 、文件和终端 I/O是不同的。例如,可以使用 TLS 连接打开主设备:

USE $principal:(::/TLS=ConfigName)

其中ConfigName是同一实例中定义的 TLS 配置的名称。

空设备

如果应用程序生成不希望出现在屏幕上的无关输出,可以将该输出定向到空设备。可以通过发出带有适当参数的 IRIS OPEN命令来指定空设备(见表)。 IRIS 将其视为虚拟设备。

空设备参数

Platform 平台 Null Device Argument 空设备参数
UNIX® /dev/null/
Windows //./nul

后续READ命令立即返回空字符串。随后的WRITE命令立即返回成功。没有读取或写入实际数据。 NULL 设备完全绕过 UNIX® 打开、写入和读取系统调用。

注:如果从 IRIS 内部以外的地方打开 NULL 设备(例如,通过将 IRIS 输出从 UNIX® shell 重定向到 /dev/null),则 UNIX® 系统调用确实会像对任何其他设备一样发生。

注:当一个进程使用JOB命令启动另一个进程时,Jobbed 进程的默认主要输入和输出设备是空设备。

讨论 (0)1
登录或注册以继续