файлы, открытые процессом в VMS - PullRequest
2 голосов
/ 12 августа 2010

У меня есть сценарий DCL в VMS, который вызывает Perl-скрипт. Могу ли я использовать команду VMS / DCL, которая сообщит мне каждый дескриптор файла, открытый скриптом perl?

Ответы [ 4 ]

3 голосов
/ 12 августа 2010

Установите значение по умолчанию для диска, с которого запускается приложение (или вам, возможно, придется попробовать каждый диск подряд, если это действительно большое или распределенное приложение). Тогда команда будет

показать устройство / файлы / nosystem

Если вы пользуетесь более свежей версией VMS и у вас слишком длинные списки, вы можете выполнить поиск с помощью следующего запроса:

pipe show device / files / nosystem | search sys $ input (имя сценария perl)

1 голос
/ 08 сентября 2010

Вам нужно найти документацию для недокументированных функций VMS: -)

Серьезно, я думаю, что set watch может делать то, что вы хотите.Если вы введете

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

, вы получите множество выходных данных, которые, как мы надеемся, будут включать то, что вы хотите.Я не делал это в течение многих лет, вы, вероятно, настраиваете варианты, чтобы точно настроить это.Смотри http://www.parsec.com/openvms/undocumented.php?page=13

0 голосов
/ 20 августа 2010

Хм, не уверен насчет этого. Возможно, добавьте тег linux к вашему сообщению, чтобы некоторые пользователи Linux могли видеть это и вмешиваться. Я не уверен, почему ваша Perl-программа не знает, какие файлы она открыла. Это ваша программа, разве она не получит доступ к файлам, о которых вы сказали? Или, если вы каким-то образом вычисляете имена файлов (что я сделал в cobol, но по-прежнему знаете, по крайней мере, в каком каталоге их искать и какую схему именования они используют), у вас все равно есть подсказки, подобные тому, что я упоминаю. Кроме того, поскольку это ваша программа, и если вы вычисляете имена файлов, не могли бы вы также сделать вывод для вашей Perl-программы, это собственный маленький отчет о том, какие файлы были? Например, сразу после вычисления имени файла скопируйте строку имени в отдельный файл отчета.

0 голосов
/ 16 августа 2010

Джейсон, мне нужно больше разъяснений для а). Вы говорите, что хотите запустить свой Perl-скрипт в пакетном файле и заставить пакетный файл отслеживать файлы, к которым обращается Perl-скрипт? Или что-то еще?

...