第十章 本地进程间通信(管道) - 用于进程间通信的 OPEN 命令
文章目录
第十章 本地进程间通信(管道) - 用于进程间通信的 OPEN 命令
用于进程间通信的 OPEN
命令
OPEN
命令允许程序与 IRIS
外部的进程进行通信。
OPEN Arguments
cpipename
管道名称
仅命令管道— “|CPIPE|
”或"|CPIPE|xxxxxx
" ,其中xxxxxx
表示用户指定的唯一标识符。
program
程序
命令管道可以使用命令 shell
或不使用命令 shell
(直接)执行程序。在大多数情况下,首选不使用命令 shell
执行。标准管道使用命令 shell
执行程序。
仅命令管道— 要在不使用命令 shell
的情况下执行,请指定 /COMMAND= program
。如果程序有参数,则必须使用 /ARGS
关键字指定它们。如果指定 /COMMAND
或 /ARGS
关键字,则无需命令 shell
即可执行程序: (/COMMAND=program)
、 (/COMMAND=program:/ARGS=arg1)
和(program:/ARGS=arg1)
都是有效的语法。 /ARGS
可以采用单个参数、以逗号分隔的参数列表或数组。例如, (/COMMAND=program:/ARGS=arg1,arg2)
。可以使用数组指定可变数量的参数:
SET array(1)=arg1, array(2)=arg2, array=2
OPEN device:(/COMMAND=cmd:/ARGS=array...)
要使用命令 shell
执行,请指定program
,并省略 /COMMAND
和 /ARGS
关键字。
程序字符串包含系统上安装的程序的完整路径名。它包含要在主机系统上执行的命令名称及其参数(如果有)。对于标准管道,限制为 <256
个字符。对于命令管道,最大长度取决于平台,但实质上超过 256
个字符。
parameters
参数
Read
对于标准管道,指定Q
或QR
以打开队列或管道以接受来自另一个进程的输入。对于命令管道:因为命令管道明确是管道,所以不需要Q
字母代码;指定R
。
Write
对于标准管道,指定QW
打开队列以将输入发送到另一个进程。对于命令管道:因为命令管道明确是管道,所以不需要Q字母代码;指定W
。
Read and Write
对于可以是读管道或写管道的标准管道,指定QRW
以打开队列或管道以接受来自另一个进程的输入并将输入发送到另一个进程。对于命令管道:因为命令管道明确是管道,所以不需要Q
字母代码;指定RW
。
可以使用 /关键字参数指定这些参数和其他参数,并用冒号分隔。例如, OPEN "|CPIPE|":(cmd:/READ:/IOTABLE="UTF8")
。以下可选关键字参数通常与管道一起使用:
K/ name /
(或K num
)以启用I/O
转换(如果已在系统范围内启用转换)。可以通过指定表的名称来标识转换所基于的先前定义的表。用于打开和关闭协议的+
和-
选项不适用于K协议。Y/ name /
(或Y num
)告诉系统使用命名的$X/$Y
操作表。可以通过指定表名称来识别先前定义的$X/$Y
操作表(转换所基于的操作表)。$X/$Y
操作始终启用。如果未指定Y并且未定义系统默认$X/$Y
,则使用内置的$X/$Y
操作表。用于打开和关闭协议的+
和-
选项不适用于Y
协议。
可以通过上述参数指定S
(流)、 F
(固定长度)或U
(未定义长度)模式参数。无法指定V
(可变长度)模式参数。
closetimeout
关闭超时
可选— 仅限 UNIX®
:可以指定关闭管道命令设备时CLOSE
命令等待命令进程退出的秒数。默认值为 30
秒。可以通过在进程间通信的 CLOSE
命令上指定“I”
(立即)参数来覆盖此关闭超时。
timeout
暂停
可选— 一个正整数,其值(以秒为单位)是 IRIS
等待OPEN成功完成的最长时间。如果 IRIS
能够在超时到期之前打开进程间通信,则会将$TEST
设置为 1
。如果 IRIS
在超时到期之前无法打开进程间通信,则会将$TEST
设置为 0
。如果忽略超时或指定0
, OPE
N立即将控制权返回给进程。
原文地址:https://blog.csdn.net/yaoxin521123/article/details/143476834
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!