我在VMS上有一个DCL脚本,它调用了perl脚本。我可以使用VMS / DCL命令来告诉我perl脚本打开的每个文件句柄吗?

有帮助吗?

解决方案

将应用程序运行的磁盘设置为默认值(或者,如果它是一个很大的应用程序,则可能必须连续尝试每个磁盘)。然后命令是

显示设备/文件/无系统

如果您使用的是VMS的最新版本,并且列表太长,则可以通过以下方法将其与搜索一起使用:

pipe show device / files / nosystem |搜索sys $ input(perl脚本的名称)

其他提示

您需要查找未记录的VMS功能的文档:-)

我很认真地认为,set watch可以满足您的要求。如果您发出 通用标签

您将获得希望包含您所需要的输出的负载。我已经做了多年了,您可能会调整选项以对其进行微调。看到 http://www.parsec.com/openvms/undocumented.php?page=13

Jason,我需要对a)进行更多说明。您是说要在批处理文件中运行perl脚本,并让该批处理文件监视perl脚本正在访问的文件吗?还是其他?

嗯,不确定。也许在您的帖子中添加了一个linux标签,以便某些linux人员可以看到它并发出提示音。我不确定为什么您的perl程序不知道它打开了什么文件。这是您的程序,它不会访问您告诉它要访问的文件吗?或者,如果您以某种方式计算文件名(我已经在cobol中完成了,但是至少仍然知道要在哪个目录中找到它们,以及它们使用的命名方案),您仍然会有类似我提到的线索。另外,由于这是您的程序,并且如果您正在计算文件名,您是否也要使Perl程序输出,这是关于文件内容的小报告?就像,在计算完文件名之后,让它将名称字符串复制到单独的报告文件中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top