[Info-vax] Local Versus Global Command Options

Arne Vajhøj arne at vajhoej.dk
Fri Feb 21 19:45:05 EST 2025


On 2/21/2025 5:18 PM, Lawrence D'Oliveiro wrote:
> On Fri, 21 Feb 2025 16:42:56 -0500, Stephen Hoffman wrote:
>> Is it feasible for DCL?  Sure. Though it'll likely involve passing some
>> of the syntax to lib$table_parse or ilk for parsing, as do a few DCL
>> commands I've encountered (or have written) over the years.
> 
> What happens when you bypass DCL? So one program directly spawns another
> and gives it a command to execute. Can the receiving program behave the
> same in that case as if it were invoked from a shell?

This is where the difference in *nix and VMS process model
get into the picture.

A "normal" process on VMS got the CLI (DCL) in P1 and
the running image in P0 and/or P2.

Most ways to activate another image (lib$spawn, C system,
C exec* etc.) end up creating a process with CLI mapped.

It is possible to start a process without CLI (sys$creprc
or run process - with an image that is not loginout.exe).

In that case I don't think there are a concept of arguments.
I don't see a way to pass arguments. Arguments are something
CLI provide to image, so no CLI means no arguments.

Such processes exist, but I would consider them relative
rare. There are some limitations on such processes - some
LIB$ functions will return LIB$_NOCLI.

Arne






More information about the Info-vax mailing list