问题标签 [vms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
223 浏览

openvms - 通过对 OpenVMS 的监控确定应用程序可执行工件范围

我们有一个基于 OpenVMS 的遗留 COBOL 应用程序——我们对它的配置没有清晰的概念。在这种情况下,我所说的“配置”是:

  1. 哪些可执行文件包含应用程序;
  2. 哪些原始源文件对应于哪些可执行文件。

上面的 1 是未知的东西可能看起来很奇怪,但随着时间的推移,可执行文件“来来去去”(并且许多仍在使用)。由于不再需要哪些可执行文件的知识已经随着时间的流逝而丢失,因此不知道哪些可执行文件构成了当今存在的应用程序。实际上,该团队忠实地编译所有源代码文件并部署生成的可执行文件,尽管有明显不再使用的程序。

不用说,没有正式的配置管理流程,源代码也没有保存在版本控制系统中。由于应用程序运行在 OpenVMS 上,相应的基于Files-11的文件系统保留了旧版本的文件(包括源文件),这一直是不将应用程序源放入版本控制系统的借口(尽管使用一个 VCS 远远超出了仅具有以前版本的记录)。

当然,可以通过多种方式确定配置,但我想从第一个“小步骤”开始,即:确定构成应用程序的可执行文件集。在这一点上我应该提一下,应用程序的可执行组件不仅限于 OpenVMS 映像,还包括 DCL 命令文件。我想:

  1. 记录驻留在某个目录或一组目录中的所有图像调用;
  2. 记录驻留在某个目录或一组目录中的命令文件的所有调用。

如果我们在生产系统上运行这个日志记录很长一段时间,比如两个月,我们可以很好地了解应用程序包含什么。连同用户咨询,我们将能够确认是否需要未调用的可执行文件。

我想我对如何执行上述 1 有一个想法,尽管我不确定具体情况,即使用SET/AUDIT. 第二部分,现阶段,我不知道该怎么做。

因此,这项工作的主要标准是尽可能少地影响现有系统以获得上述信息。由于围绕配置的问号(以及完全缺乏自动化测试),改变任何东西都是一件令人伤脑筋的事情。

使用操作系统级别的服务SET/AUDIT可以让人们了解正在运行的内容,而无需更改源代码和/或重新编译任何内容。所以,我的问题是多方的:

  1. 这是在 OpenVMS 上执行此操作的最佳方式吗?
  2. 我需要做什么来限制SET/AUDIT只监视特定目录中的图像?
  3. 如何在不更改.COM源文件的情况下记录命令文件调用?
  4. 由于记录此类信息而导致性能下降,我应该期待什么?
0 投票
3 回答
1060 浏览

c - 如何在openvms中读取命令行参数来运行ac程序?

我构建了一个简单的程序尝试打印命令行参数。

代码如下,我构建了一个可执行文件(TEST.EXE)。

我尝试运行 TEST.EXE 并打印参数但失败。

命令的结果RUN TEST.EXE test1 test2

如何打印“test1”和“test2”?

0 投票
1 回答
1062 浏览

openvms - OpenVMS 中的更改提示

我正在寻找有关 openVMS 的帮助。

VMS下的默认提示是$

我想更新它以反映我在 Unix/Linux 中更改目录时所在的当前工作目录。

我创建了一个名为 login.com 的文件并将其放入 openVMS 系统的主目录中,并添加了以下代码:

这应该通过显示当前目录来工作,但是它只反映我登录时的主目录。当我更改目录时,它不会动态更新。如果我在终端中运行上述命令,它将显示当前目录。

无论如何更新 login.com 以在每次更改目录时动态更新提示?

0 投票
1 回答
132 浏览

fortran - vms fortran 读/写单元指定

我的任务是将一些旧的(大约 1986 年)VAX VMS FORTRAN 代码移植到 c++ 中,并且遇到了一些绊脚石。以下两行代码是计算 goto 的一部分。

我的问题是单位代号 "2'N" ,如果确实如此的话。“N”是传入子程序的整数变量。我已经为这个模式做了很多谷歌搜索,并阅读了我能找到的 VMS 文档,但是我无法找到与这个模式有关的任何信息。我理解 write 和 read 语句后面的隐含 do 循环,但我不明白这是写入和读取的“位置”。浏览 FORTRAN 代码的其余部分并没有显示可能与此调用关联的 unit=2 open 语句,因此它似乎不是磁盘文件,但我不确定。我希望这里有人可以恢复他们的记忆并帮助我。

0 投票
4 回答
760 浏览

unix - 什么是 VMS 中的 unix 的等效命令

我在 vms 中有一个工具xyz。我想获取它的安装位置。例如,在unix中,我们可以通过使用which命令来实现这一点。所以请帮助我 vms 等效于这个命令。

0 投票
0 回答
950 浏览

c# - SFTP:如何检索具有相同名称的多个文件的特定版本?

我正在编写一个 C# .NET 控制台应用程序来从 SFTP 服务器检索文件。楼主每天发一个新文件,同一个目录下7天的文件。问题是他们每天都使用完全相同的文件名(也许他们在 VMS 上?)我可以通过 SFTP 看到的文件的唯一区别是更改的日期/时间和文件大小。

我正在使用 Renci.SshNet 库来检索文件。不幸的是,我必须指定要检索的文件的唯一方法是为其指定文件名。由于所有文件的名称都相同,因此它总是检索最新的文件。

如何检索以前的任何文件?

0 投票
0 回答
969 浏览

unix - 在 sftp 中保留从 VMS 到 Unix 的文件权限?

我正在尝试使用 SFTP 将文件从 VMS 机器复制到 Unix 机器。

我想保留文件权限。或者至少在我使用 sftp 复制后更改它们。

由于不允许使用“chmod”、“umask”和“put -P”等选项,这个解决方案是什么?

非常感谢!~基达

0 投票
3 回答
666 浏览

c++ - VMS 时间戳到 POSIX time_t --- Boost.DateTime 错误?

假设转换产生一个有效的值,我如何编写一个 C++ 函数,该函数接受一个long long表示 VMS 时间戳的值并返回相应的值?(我将在商用 CentOS 服务器上解析通过网络发送的二进制数据,如果这有什么不同的话。)time_ttime_t

我查看了一篇名为“为什么 1858 年 11 月 17 日星期三是 VAX/VMS 的基准时间”的文档,但我认为如果不使用我没有的实际数据进行测试,我无法编写正确的实现不幸的是,现在手。

如果我没记错的话,应该是这种形式的简单算术:

有人能告诉我要投入什么价值OFFSET吗?

我关心的事情:

  • 我不想被我当地的时区咬伤
  • 我不想被修改后的 Julian 日期定义中的 0.5(下午与午夜)所困扰(尽管它在这里应该对我有所帮助;修改后的 Julian 纪元和 Unix 纪元应该相差 24 小时的倍数,这要归功于定义)

我试图在 Boost.DateTime 的帮助下自己计算它,却得到一个神秘的负值......

-788250496
y 在 x 之后

我为此使用了Boost 1.60

当前实现支持 1400-Jan-01 到 9999-Dec-31 范围内的日期。

更新

废话,sizeof(total_seconds())4岁,尽管文件说了什么

所以我得到了 3506716800 从

这看起来不太错,但是......谁能保证这真的是正确的?

0 投票
0 回答
264 浏览

windows - 将文件 DECWRITE (VMS) 传输到 WORD (PC)

我有大量旧的 DECwrite、VAX 文档。

任何人都知道我怎样才能将它们转换为 Word(PC Windows 7)?

0 投票
1 回答
61 浏览

vms - 在 VMS 7.3 下读取 RSTS/E V6 9 轨磁带

我正在尝试从两个旧的 9 磁道磁带中恢复一些备份。它们是在 1980 年左右在 RSTS/E 版本 6 下创建的。

我在 MicroVAX II 和功能正常的 TU80 磁带机上安装了 VMS 7.3。两个系统功能齐全,因此不是“侏罗纪计算”硬件问题。

我尝试了几种策略,包括 BACKUP 和 EXCHANGE,但到目前为止“不行”。磁带密度未知,但考虑到磁带的使用年限,可能为 800 或 1600。

任何建议,将不胜感激。

提前致谢,

凯文