問題タブ [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. 特定のディレクトリまたは一連のディレクトリに存在するコマンド ファイルのすべての呼び出しをログに記録します。

本番システムでこのロギングを長期間 (たとえば 2 か月) 実行すると、アプリケーションが何を構成するかについてかなりのアイデアを得ることができます。ユーザーの相談と合わせて、呼び出されていない実行ファイルの必要性を確認できます。

上記の 1 を実行する方法についてはアイデアがあると思いますが、詳細、つまり を使用する方法についてはわかりませんSET/AUDIT。2番目の部分は、この段階では、どうすればよいかわかりません。

したがって、この取り組みの主な基準は、上記の情報を取得するために、既存のシステムができるだけ影響を受けないようにすることです。構成に関する疑問符 (および自動テストの完全な欠如) により、何かを変更することは神経をすり減らす作業です。

オペレーティング システム レベルのサービスを使用する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++ に移植する任務を負っていましたが、ちょっとした障害にぶつかりました。次の 2 行のコードは、計算された goto の一部です。

私の問題は、それが実際にそれである場合、単位指定子 "2'N" です。「N」は、サブルーチンに渡される整数変数です。このパターンについてかなりの数のグーグル検索を行い、見つけた VMS ドキュメントを読みましたが、アポストロフィを使用してこのパターンに関する情報を見つけることができませんでした。write ステートメントと read ステートメントに続く暗黙の do ループは理解していますが、これが書き込み先と読み取り元の「場所」を理解していません。FORTRAN コードの残りの部分をブラウズしても、この呼び出しに関連する可能性のある unit=2 open ステートメントが明らかにならないため、ディスク ファイルではない可能性が高いと思われますが、確かではありません。ここにいる誰かが彼らの記憶に戻って私を助けてくれることを願っています.

0 投票する
4 に答える
760 参照

unix - VMSのunixの同等のコマンドは何ですか

vmsにツールxyzがあります。それがインストールされている場所を取得したいです。たとえば、unixでは、どのコマンドを使用してこれを実現できますか。このコマンドに相当する vms を教えてください。

0 投票する
0 に答える
950 参照

c# - SFTP: 同じ名前の複数のファイルの特定のバージョンを取得するにはどうすればよいですか?

SFTP サーバーからファイルを取得する C# .NET コンソール アプリケーションをプログラミングしています。ホストは毎日新しいファイルを投稿し、同じディレクトリに 7 日間のファイルがあります。問題は、彼らが毎日まったく同じファイル名を使用していることです (おそらく VMS 上にあるのでしょうか?)。SFTP で確認できるファイルの唯一の違いは、変更された日付/時刻とファイル サイズです。

Renci.SshNet ライブラリを使用してファイルを取得しています。残念ながら、取得するファイルを指定する唯一の方法は、ファイル名を指定することです。すべてのファイルに同じ名前が付けられているため、常に最新のファイルが取得されます。

以前のファイルを取得するにはどうすればよいですか?

0 投票する
0 に答える
969 参照

unix - Preserve file permissions in sftp from VMS to Unix?

I am trying to copy a file from VMS machine to Unix machine using SFTP.

I want to preserve the file permissions. Or atleast change them once I copy using sftp.

As options like "chmod","umask" and "put -P" are not allowed, What is the solution for this one ?

Many Thanks! ~Kedar

0 投票する
3 に答える
666 参照

c++ - VMS タイムスタンプから POSIX time_t --- Boost.DateTime バグ?

long longVMS タイムスタンプを表す値を取りtime_t、変換によって有効なtime_t. (ネットワーク経由で送信されたバイナリ データをコモディティ CentOS サーバーで解析します。違いがある場合)。

「1858 年 11 月 17 日水曜日が VAX/VMS の基本時間である理由」というタイトルのドキュメントを調べましたが、実際のデータでテストせずに正しい実装を書くことはできないと思います。残念ながら、今すぐ手に入れてください。

私が間違っていなければ、次の形式の単純な算術演算である必要があります。

に入れる値を誰か教えてもらえますOFFSETか?

気になる点:

  • ローカルタイムゾーンに惑わされたくない
  • 修正ユリウス日の定義で 0.5 のこと (午後と真夜中) に悩まされたくありません (ただし、ここでは役立つはずです。修正ユリウス暦エポックと Unix エポックは、意味)

Boost.DateTime の助けを借りて自分で計算しようとしましたが、不思議な負の値が得られました...

-788250496
y は x の後です

Boost 1.60を使用しました:

現在の実装では、1400-Jan-01 から 9999-Dec-31 の範囲の日付がサポートされています。

アップデート

がらくた、sizeof(total_seconds())4 だった、ドキュメントが言うことにもかかわらず

だから私はから3506716800を得ました

これはあまり間違っていないように見えますが...これが本当に正しいと誰が保証できますか?