Operating System - OpenVMS
1752296 Members
4987 Online
108786 Solutions
New Discussion

Problem with "Pipe" command.

 
SOLVED
Go to solution
John McL
Trusted Contributor

Re: Problem with "Pipe" command.

Not potential solutions but thoughts about investigation

 

1. Your second example is

 

$    PIPE VLOG -B CUSTAUTHREC.DBL | SEARCH/NOHIGH SYS$PIPE "Locks:" | -

                     (READ SYS$PIPE LINE1 ; ASSIGN/JOB/NOLOG &LINE1 LOCK_INFO)

 

Is there any chance that LINE1 might contain an embedded space or tab when you do the ASSIGN?  (Similarly with you main example, which is an F$ELEMENT(4, ? where I can't tell if the ? as I show it is a space or a tab - could the other character be embedded here?)

 

2. Also, the & symbol puts a pipe into the background (like a SPAWN/NOWAIT).  What's not so clear from VMS Help is whether this applies when there's no space following the '&'.  Maybe it's worth modifying that line to test it.

 

3. Does the CPU load have any relationship to when your cycling job terminates? I hope you are running some kind of monitoring tool to provide this answer, but even if you don't your opinion about any relationship might be useful

John Gillings
Honored Contributor

Re: Problem with "Pipe" command.

re: John McL

>2. Also, the & symbol puts a pipe into the background (like a SPAWN/NOWAIT). 

>What's not so clear from VMS

>Help is whether this applies when there's no space following the '&'. 

>Maybe it's worth modifying that line to test it

 

In this case the ampersand "&" is not a PIPE separator, it's a symbol substitution operator. This syntax has been present since VMS V1.0, but is rather obscure (and difficult to find in the documentation - the only mention I can find is in the OpenVMS User's Manual, section 12.12.2).

 

The ampersand substitution is required in this case so the symbol substitution is performed in the context of the pipe thread, after it has been given a value, rather than in the context of the main process at the time the PIPE command is parsed.

 

 

A crucible of informative mistakes