由VMS上的进程打开的文件

时间:2010-08-12 18:44:42

标签: vms dcl

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

4 个答案:

答案 0 :(得分:3)

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

show device / files / nosystem

如果您使用的是更新版本的VMS并且列表太长,您可以通过搜索来管道:

管道显示设备/文件/ nosystem | search sys $ input(perl脚本的名称)

答案 1 :(得分:1)

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

说真的,我认为set watch可能会做你想要的。如果您发出

$ set watch file/class=(all,nodump)
$ perl yourperlscript.pl

您将获得大量的输出,希望包含您想要的内容。我已经做了多年,你可能会调整选项来微调它。看到 http://www.parsec.com/openvms/undocumented.php?page=13

答案 2 :(得分:0)

杰森,我需要进一步澄清a)。您是说要在批处理文件中运行perl脚本并让批处理文件监视perl脚本正在访问的文件吗?或其他什么?

答案 3 :(得分:0)

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