第三章 Caché 命令大全 CLOSE 命令

文章目录

第三章 Caché 命令大全 CLOSE 命令

关闭文件或设备。

重点

  1. 如果进程的默认设备已关闭,则对该设备的任何后续输出(如错误消息)都会导致进程挂起。在这种情况下,必须显式重新打开默认设备

大纲

CLOSE:pc closearg,...
C:pc closearg,... 

其中,closearg是:

device:parameters

参数

  • pc 可选-后置条件表达式。
  • device 要关闭的设备。
  • parameters 可选-用于设置设备特性的一个或多个参数。可以将单个参数指定为带引号的字符串:CLOSE DEVICE:"D"。必须指定多个参数,用括号括起来并用冒号分隔。

描述

CLOSE设备释放指定设备的所有权,可选地设置一个参数,并将其返回到可用设备池。

如果进程不拥有指定的设备,或者如果指定的设备未打开或不存在,则Caché将忽略CLOSE并返回,而不会发出错误。

参数

pc

可选的后置条件表达式。如果后置条件表达式为TRUE(计算结果为非零数值),则Caché执行CLOSE命令。如果后置条件表达式为假(计算结果为零),则Caché不执行该命令。

device

要关闭的设备。设备可以是物理设备、TCP连接或顺序文件。指定与相应OPEN命令中指定的设备ID相同的设备ID(助记符或数字)。

可以指定单个设备ID,也可以将其指定为逗号分隔的设备ID列表。CLOSE关闭进程当前已打开的所有列出的设备。它会忽略此进程列出的任何不存在或当前未打开的设备。

当前设备的设备ID包含在$IO特殊变量中。

parameters

关闭指定设备时使用的参数或冒号分隔的参数列表。参数代码不区分大小写。多个参数必须用括号括起来,并用冒号分隔。

可选参数值如下:

代码描述
“D”关闭并删除顺序文件。也可以指定为/DEL、/DEL=1、/DELETE或/DELETE=1
“R”:newname关闭并重命名顺序文件。也可以指定为/REN=newname/rename=newname
“K”在Caché级别关闭,但不在操作系统级别关闭。仅在非Windows系统上使用。

如果指定的参数无效,Close仍会关闭设备。

示例

在以下UNIX®示例中,Close命令将关闭设备C(/dev/tty02),但前提是该设备不是当前设备。后置条件使用$IO特殊变量检查当前设备。

CloseDevC
  SET C="/dev/tty02"
  OPEN C
    ; ...
  CLOSE:$IO'=C C

注意

获取设备所有权

进程使用OPEN命令获取设备所有权,并使用USE命令使其处于活动状态。如果关闭的设备是活动(即当前)设备,则默认I/O设备将成为当前设备。(默认I/O设备在登录时建立。)当进程终止时(例如,在暂停之后),其所有打开的设备都会自动关闭并返回到系统。

如果进程的默认设备已关闭,则对该设备的任何后续输出(如错误消息)都会导致进程挂起。在这种情况下,必须显式重新打开默认设备

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yaoxin521123

谢谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值