问题标签 [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.
openvms - 通过对 OpenVMS 的监控确定应用程序可执行工件范围
我们有一个基于 OpenVMS 的遗留 COBOL 应用程序——我们对它的配置没有清晰的概念。在这种情况下,我所说的“配置”是:
- 哪些可执行文件包含应用程序;
- 哪些原始源文件对应于哪些可执行文件。
上面的 1 是未知的东西可能看起来很奇怪,但随着时间的推移,可执行文件“来来去去”(并且许多仍在使用)。由于不再需要哪些可执行文件的知识已经随着时间的流逝而丢失,因此不知道哪些可执行文件构成了当今存在的应用程序。实际上,该团队忠实地编译所有源代码文件并部署生成的可执行文件,尽管有明显不再使用的程序。
不用说,没有正式的配置管理流程,源代码也没有保存在版本控制系统中。由于应用程序运行在 OpenVMS 上,相应的基于Files-11的文件系统保留了旧版本的文件(包括源文件),这一直是不将应用程序源放入版本控制系统的借口(尽管使用一个 VCS 远远超出了仅具有以前版本的记录)。
当然,可以通过多种方式确定配置,但我想从第一个“小步骤”开始,即:确定构成应用程序的可执行文件集。在这一点上我应该提一下,应用程序的可执行组件不仅限于 OpenVMS 映像,还包括 DCL 命令文件。我想:
- 记录驻留在某个目录或一组目录中的所有图像调用;
- 记录驻留在某个目录或一组目录中的命令文件的所有调用。
如果我们在生产系统上运行这个日志记录很长一段时间,比如两个月,我们可以很好地了解应用程序包含什么。连同用户咨询,我们将能够确认是否需要未调用的可执行文件。
我想我对如何执行上述 1 有一个想法,尽管我不确定具体情况,即使用SET/AUDIT
. 第二部分,现阶段,我不知道该怎么做。
因此,这项工作的主要标准是尽可能少地影响现有系统以获得上述信息。由于围绕配置的问号(以及完全缺乏自动化测试),改变任何东西都是一件令人伤脑筋的事情。
使用操作系统级别的服务SET/AUDIT
可以让人们了解正在运行的内容,而无需更改源代码和/或重新编译任何内容。所以,我的问题是多方的:
- 这是在 OpenVMS 上执行此操作的最佳方式吗?
- 我需要做什么来限制
SET/AUDIT
只监视特定目录中的图像? - 如何在不更改
.COM
源文件的情况下记录命令文件调用? - 由于记录此类信息而导致性能下降,我应该期待什么?
c - 如何在openvms中读取命令行参数来运行ac程序?
我构建了一个简单的程序尝试打印命令行参数。
代码如下,我构建了一个可执行文件(TEST.EXE)。
我尝试运行 TEST.EXE 并打印参数但失败。
命令的结果RUN TEST.EXE test1 test2
:
如何打印“test1”和“test2”?
openvms - OpenVMS 中的更改提示
我正在寻找有关 openVMS 的帮助。
VMS下的默认提示是$
我想更新它以反映我在 Unix/Linux 中更改目录时所在的当前工作目录。
我创建了一个名为 login.com 的文件并将其放入 openVMS 系统的主目录中,并添加了以下代码:
这应该通过显示当前目录来工作,但是它只反映我登录时的主目录。当我更改目录时,它不会动态更新。如果我在终端中运行上述命令,它将显示当前目录。
无论如何更新 login.com 以在每次更改目录时动态更新提示?
fortran - vms fortran 读/写单元指定
我的任务是将一些旧的(大约 1986 年)VAX VMS FORTRAN 代码移植到 c++ 中,并且遇到了一些绊脚石。以下两行代码是计算 goto 的一部分。
我的问题是单位代号 "2'N" ,如果确实如此的话。“N”是传入子程序的整数变量。我已经为这个模式做了很多谷歌搜索,并阅读了我能找到的 VMS 文档,但是我无法找到与这个模式有关的任何信息。我理解 write 和 read 语句后面的隐含 do 循环,但我不明白这是写入和读取的“位置”。浏览 FORTRAN 代码的其余部分并没有显示可能与此调用关联的 unit=2 open 语句,因此它似乎不是磁盘文件,但我不确定。我希望这里有人可以恢复他们的记忆并帮助我。
unix - 什么是 VMS 中的 unix 的等效命令
我在 vms 中有一个工具xyz。我想获取它的安装位置。例如,在unix中,我们可以通过使用which命令来实现这一点。所以请帮助我 vms 等效于这个命令。
c# - SFTP:如何检索具有相同名称的多个文件的特定版本?
我正在编写一个 C# .NET 控制台应用程序来从 SFTP 服务器检索文件。楼主每天发一个新文件,同一个目录下7天的文件。问题是他们每天都使用完全相同的文件名(也许他们在 VMS 上?)我可以通过 SFTP 看到的文件的唯一区别是更改的日期/时间和文件大小。
我正在使用 Renci.SshNet 库来检索文件。不幸的是,我必须指定要检索的文件的唯一方法是为其指定文件名。由于所有文件的名称都相同,因此它总是检索最新的文件。
如何检索以前的任何文件?
unix - 在 sftp 中保留从 VMS 到 Unix 的文件权限?
我正在尝试使用 SFTP 将文件从 VMS 机器复制到 Unix 机器。
我想保留文件权限。或者至少在我使用 sftp 复制后更改它们。
由于不允许使用“chmod”、“umask”和“put -P”等选项,这个解决方案是什么?
非常感谢!~基达
c++ - VMS 时间戳到 POSIX time_t --- Boost.DateTime 错误?
假设转换产生一个有效的值,我如何编写一个 C++ 函数,该函数接受一个long long
表示 VMS 时间戳的值并返回相应的值?(我将在商用 CentOS 服务器上解析通过网络发送的二进制数据,如果这有什么不同的话。)time_t
time_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 从
这看起来不太错,但是......谁能保证这真的是正确的?
windows - 将文件 DECWRITE (VMS) 传输到 WORD (PC)
我有大量旧的 DECwrite、VAX 文档。
任何人都知道我怎样才能将它们转换为 Word(PC Windows 7)?
vms - 在 VMS 7.3 下读取 RSTS/E V6 9 轨磁带
我正在尝试从两个旧的 9 磁道磁带中恢复一些备份。它们是在 1980 年左右在 RSTS/E 版本 6 下创建的。
我在 MicroVAX II 和功能正常的 TU80 磁带机上安装了 VMS 7.3。两个系统功能齐全,因此不是“侏罗纪计算”硬件问题。
我尝试了几种策略,包括 BACKUP 和 EXCHANGE,但到目前为止“不行”。磁带密度未知,但考虑到磁带的使用年限,可能为 800 或 1600。
任何建议,将不胜感激。
提前致谢,
凯文