Sujet : Re: Local Versus Global Command Options
De : arne (at) *nospam* vajhoej.dk (Arne Vajhøj)
Groupes : comp.os.vmsDate : 22. Feb 2025, 01:45:05
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vpb6mh$3krmq$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
User-Agent : Mozilla Thunderbird
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