HELP RUN — VMS 5.5
Executes an image within the context of your process (see Image). Creates a subprocess or a detached process to run an image and deletes the process when the image completes execution (see Process).
Additional information available:
Image
Executes an image within the context of your process. You can
abbreviate the RUN command to a single letter, R.
If you specify an image name in the command line with an explicit
version number (or a semicolon [;]), the image runs with current
process privileges. If you do not specify an explicit version
number (or semicolon), the image runs with any privileges with
which it was installed. If you have DECnet software installed and
want to execute an image over the network, you must have read (R)
access to the file.
Format
RUN filespec
Additional information available:
PARAMETER
filespec
Specifies an executable image to be executed. The file type
defaults to EXE. Wildcard characters are not allowed.
QUALIFIER
Additional information available:
/DEBUG
/DEBUG
/NODEBUG
Executes the image under control of the debugger. The default is
the /DEBUG qualifier if the image is linked with the /DEBUG
qualifier and the /NODEBUG qualifier if the image is linked
without the /DEBUG qualifier. The /DEBUG qualifier is invalid if
the image is linked with the /NOTRACEBACK qualifier. The
/NODEBUG qualifier overrides the effect of the LINK/DEBUG
command. If the image was linked with the /TRACEBACK qualifier,
traceback reporting is performed when an error occurs.
If the image was not linked with the debugger, you can specify
the /DEBUG qualifier to request the debugger at execution time.
However, if the /NOTRACEBACK qualifier was specified when the
image was linked, the /DEBUG qualifier is invalid.
For a complete description of the VMS Debugger, see the VMS
Debugger Manual.
To get help on debugger commands from DCL level, type the
following command:
$ HELP/LIBRARY=SYS$HELP:DBG$HELP
Examples
1. $ RUN LIBRA
The image LIBRA.EXE starts executing in the process. If the
image LIBRA has been installed with amplified privileges, it
runs with those privileges because you have not explicitly
specified a version number or a semicolon. Alternatively, the
image LIBRA.EXE still runs with its amplified privileges, if
you enter the RUN command as follows:
$ RUN LIBRA.EXE
2. $ MACRO/ENABLE=DEBUG ORION
$ LINK/DEBUG ORION
$ RUN ORION
VAX DEBUG Version 5.5
%DEBUG-I-INITIAL, language is MACRO, module set to 'ORION'
DBG>
.
.
.
$ RUN/NODEBUG ORION
A program is compiled, linked, and run with the debugger.
Subsequently, a RUN/NODEBUG command requests that the
debugger, which is present in the image, not issue a prompt.
If an error occurs while the image executes, the debugger can
perform traceback and report on the error.
3. $ RUN AQUARIUS.EXE;1
The image AQUARIUS.EXE starts executing in the process. If the
image AQUARIUS has been installed with amplified privileges,
it does not run with those privileges because you have
specified a version number. Instead, the image runs with
current process privileges only. When you specify a version
number (or even just a semicolon), the image activator does
not search its list of special images that have been installed
with privileges. The process AQUARIUS still runs with only
normal process privileges if you enter the RUN command as
follows:
$ RUN AQUARIUS.EXE;
In this case, however, the highest version of the image
AQUARIUS runs.
Process
Creates a subprocess or a detached process to run an image
and deletes the process when the image completes execution. A
subprocess is created if any of the qualifiers except the /UIC
or the /DETACHED qualifier is specified. A detached process is
created if the /UIC qualifier is specified and you have the DETACH
user privilege.
Format
RUN filespec
Additional information available:
PARAMETER
filespec Specifies the file name of an executable image to be executed in a separate process. The default file type is EXE. Wildcard characters are not allowed in the file specification.
QUALIFIERS
Additional information available:
/ACCOUNTING/AST_LIMIT/AUTHORIZE/BUFFER_LIMIT
/DELAY/DETACHED/DUMP/ENQUEUE_LIMIT/ERROR
/EXTENT/FILE_LIMIT/INPUT/INTERVAL/IO_BUFFERED
/IO_DIRECT/JOB_TABLE_QUOTA/MAILBOX/MAXIMUM_WORKING_SET
/OUTPUT/PAGE_FILE/PRIORITY/PRIVILEGES/PROCESS_NAME
/QUEUE_LIMIT/RESOURCE_WAIT/SCHEDULE/SERVICE_FAILURE
/SUBPROCESS_LIMIT/SWAPPING/TIME_LIMIT/UIC
/WORKING_SET
/ACCOUNTING
/ACCOUNTING (default)
/NOACCOUNTING
Requires ACNT (accounting) privilege to disable accounting.
Logs accounting records in the system accounting file for the
created process.
/AST_LIMIT
/AST_LIMIT=quota
Specifies the maximum number of asynchronous system traps (ASTs)
that the created process can have outstanding.
If you do specify an AST limit quota, the default quota
established at system generation time is used. The minimum
required for any process to execute is 2. A value of 10 is
typical.
The AST limit quota is nondeductible.
/AUTHORIZE
/AUTHORIZE
/NOAUTHORIZE (default)
Requires DETACH privilege.
When the image to be executed is the system login image
(LOGINOUT.EXE), this qualifier searches the user authorization
file (UAF) to validate a detached process. The /NOAUTHORIZE
qualifier creates a detached process that runs under the control
of the command interpreter.
Specify the /AUTHORIZE qualifier if you want the login image to
check the UAF whenever a detached process is created. The process-
permanent files specified by the /INPUT and /OUTPUT qualifiers are
made available to the command interpreter for input and output.
Any nonspecified attributes of the created process default to
those of the current process.
/BUFFER_LIMIT
/BUFFER_LIMIT=quota
Specifies the maximum amount of memory, in bytes, that the process
can use for buffered I/O operations or for temporary mailbox
creation.
If you do not specify a buffered I/O quota, the default value
established at system generation time is used. The minimum amount
required for any process to execute is 1024 bytes. A value of
10,240 is typical.
The buffer limit quota is pooled.
/DELAY
/DELAY=delta-time
Places the created process in hibernation and awakens it after a
specified time interval.
Specify the delta time according to the rules for entering delta
times given in the VMS DCL Concepts Manual.
If you specify both the /DELAY and /INTERVAL qualifiers, the
first wakeup request occurs at the time specified by the /DELAY
qualifiers. All subsequent wakeup requests occur at the interval
specified by the /INTERVAL qualifier.
/DETACHED
/DETACHED
/NODETACHED
Creates a detached process with the same user identification code
(UIC) as the current process. (To create a detached process with
a different UIC, use the /UIC qualifier.) By default, the created
process is not a detached process.
By default, the detached process has the same resource quotas as
the current process; the DETACH privilege allows you to specify
any quotas you need for the detached process. Unless you have the
DETACH privilege, the maximum number of detached processes that
you can create is limited to the quota defined by MAX_DETACH in
your UAF.
/DUMP
/DUMP
/NODUMP (default)
When an image terminates because of an unhandled error, the /DUMP
qualifier causes the contents of the address space to be written
to the file named image-name.DMP in the process's default device
and directory. You can then use the Analyze/Process_Dump Utility
to analyze the dump.
/ENQUEUE_LIMIT
/ENQUEUE_LIMIT=quota
Specifies the maximum number of locks that a process can have
outstanding at any one time.
The default quota is that established at system generation time.
The minimum required for any process to operate is 2. A value of 6
is typical.
/ERROR
/ERROR=filespec
Defines an equivalence name string of 1 to 63 alphanumeric
characters for the logical device name SYS$ERROR. The logical
name and equivalence name are placed in the process logical name
table for the created process. (The /ERROR qualifier is ignored if
you are running SYS$SYSTEM:LOGINOUT.)
/EXTENT
/EXTENT=quota
Specifies the maximum size to which the image being executed in
the process can increase its physical memory size.
The default quota is that established at system generation time.
The minimum value required for any process to execute is 10 pages.
A value in the range of 400 to 2000 is typical. The extent quota
is nondeductible.
/FILE_LIMIT
/FILE_LIMIT=quota
Specifies the maximum number of files that a process can have open
at any one time.
The default quota is the quota established at system generation
time. The minimum amount required for any process to execute is 2.
A value of 20 is typical. The file limit quota is pooled.
/INPUT
/INPUT=filespec
Defines an equivalence name string of 1 to 63 characters for
SYS$INPUT. The logical name and equivalence name are placed in
the process logical name table for the created process.
/INTERVAL
/INTERVAL=delta-time
Requests that the created process be placed in hibernation and be
awakened at regularly scheduled intervals.
Specify the delta time according to the rules for entering delta
times given in the VMS DCL Concepts Manual.
If you specify the /DELAY or the /SCHEDULE qualifier with the
/INTERVAL qualifier, the first wakeup request occurs at the time
specified by the /DELAY or the /SCHEDULE qualifier; all subsequent
wakeup requests occur at intervals specified by the /INTERVAL
qualifier. If you specify neither the /DELAY nor the /SCHEDULE
qualifier with the /INTERVAL qualifier, the first wakeup request
occurs immediately by default.
/IO_BUFFERED
/IO_BUFFERED=quota
Specifies the maximum number of system-buffered I/O operations
that the created process can have outstanding at any one time.
The default quota is the quota established at system generation
time. The minimum required for any process to execute is 2. A
value of 6 is typical. The buffered I/O quota is nondeductible.
/IO_DIRECT
/IO_DIRECT=quota
Specifies the maximum number of direct I/O operations that the
created process can have outstanding at any one time.
The default quota is the quota established at system generation
time. The minimum required for any process to execute is 2. A
value of 6 is typical. The direct I/O quota is nondeductible.
/JOB_TABLE_QUOTA
/JOB_TABLE_QUOTA=quota
Allows you to specify a quota for a detached process's jobwide
logical name table.
A value of 0 has a special meaning. It means that the table, for
all practical purposes, has infinite quota because its quota is
pooled with that of its parent table, the system directory table.
Note that the /JOB_TABLE_QUOTA qualifier is relevant only for
detached processes. If the /JOB_TABLE_QUOTA qualifier is specified
in a RUN command that results in the creation of a subprocess, it
is ignored.
/MAILBOX
/MAILBOX=unit
Specifies the unit number of a mailbox to receive a termination
message when the created process is deleted. If no mailbox is
specified, the creating process receives no notification when the
subprocess or detached process has been deleted.
/MAXIMUM_WORKING_SET
/MAXIMUM_WORKING_SET=quota
Specifies the maximum size to which the image being executed
in the process can increase its working set size. An image can
increase its working set size by calling the $ADJWSL (Adjust
Working Set Limit) system service.
The default quota is the quota established at system generation
time. The minimum value required for any process to execute is 10
pages. A value of 200 is typical.
The maximum working set quota is nondeductible.
/OUTPUT
/OUTPUT=filespec
Defines an equivalence name string of 1 to 63 characters for the
logical device name SYS$OUTPUT. Both the equivalence name and the
logical name are placed in the process logical name table for the
created process.
/PAGE_FILE
/PAGE_FILE=quota
Specifies the maximum number of pages that can be allocated in the
paging file for the process. The paging file quota is the amount
of secondary storage available during execution of the image.
The default quota is the quota established at system generation
time. The minimum value required for a process to execute is 256
pages. A value of 10,000 pages is typical. The paging file quota
is pooled.
/PRIORITY
/PRIORITY=n
Requires ALTPRI (alter priority) privilege to set the priority
higher than your current process.
Specifies the base priority at which the created process executes.
The value of the parameter n is a decimal number from 0 to 31,
where 31 is the highest priority and zero is the lowest. Normal
priorities range from 0 to 15; real-time priorities range from 16
to 31.
The default priority is that of the current process.
/PRIVILEGES
/PRIVILEGES=(privilege[,...])
Requires SETPRV (set privilege) privilege to specify privileges
that you do not have.
Defines user privileges for the created process. You can extend
any privilege you possess to a process you create. By default,
the created process has the same privileges as its creator. If you
specify only one privilege, you can omit the parentheses.
For a list of process privileges, see the VMS DCL Concepts Manual.
You can also use the keyword NOSAME as the privilege parameter.
If you specify /PRIVILEGES=NOSAME, the created process has no
privileges.
If you specify a version number (or semicolon [;]) in the filespec
parameter, the current process privileges are used, overriding any
privileges specified with the /PRIVILEGES qualifier.
/PROCESS_NAME
/PROCESS_NAME=process-name
Specifies a name of 1 to 15 characters for the created process.
The process name is implicitly qualified by the group number of
the process's user identification code (UIC). By default, the name
is null.
/QUEUE_LIMIT
/QUEUE_LIMIT=quota
Specifies the maximum number of timer queue entries that the
created process can have outstanding at any one time. This number
includes timer requests and scheduled wakeup requests.
The default quota is the quota established at system generation
time. A process does not require any timer queue quota in order to
execute. A value of 8 is typical.
The timer queue entry quota is pooled.
/RESOURCE_WAIT
/RESOURCE_WAIT (default)
/NORESOURCE_WAIT
Places the created process in a wait state when a resource
required for a particular function is not available.
If you specify the /NORESOURCE_WAIT qualifier, the process
receives an error status code when a resource is unavailable.
/SCHEDULE
/SCHEDULE=absolute-time
Places the created process in hibernation and awakens it at the
specified time.
Specify the absolute time value according to the rules for
entering absolute time values given in the VMS DCL Concepts
Manual.
/SERVICE_FAILURE
/SERVICE_FAILURE
/NOSERVICE_FAILURE (default)
Enables or disables an exception condition notification if an
error occurs during a system service request. By default, an error
status code is returned to the process.
If you specify the /SERVICE_FAILURE qualifier and an error
occurs during a system service request, the process encounters
an exception condition.
/SUBPROCESS_LIMIT
/SUBPROCESS_LIMIT=quota
Specifies the maximum number of subprocesses that the created
process is allowed to create.
The default quota is the quota established at system generation
time. A process does not require any subprocess quota in order to
execute. A value of 8 is typical.
The subprocess limit quota is pooled.
/SWAPPING
/SWAPPING (default)
/NOSWAPPING
Requires PSWAPM (process swap mode) privilege to inhibit process
swapping.
Permits the process to be swapped. The default allows a process to
be swapped from the balance set in physical memory to allow other
processes to execute.
With /NOSWAPPING in effect, the process is not swapped out of the
balance set when it is in a wait state. By default, a process may
be swapped out of the balance set whenever it is in a wait state.
/TIME_LIMIT
/TIME_LIMIT=limit
Specifies the maximum amount of CPU time (in delta time) a created
process can use. CPU time is allocated to the created process in
units of 10 milliseconds. When it has exhausted its CPU time limit
quota, the created process is deleted.
If this quota is not specified and the created process is a
detached process, the detached process receives a default value of
zero, that is, unlimited CPU time.
If this quota is not specified and the created process is a
subprocess, the subprocess receives half the CPU time limit quota
of the creating process.
If this quota is specified as zero, the created process has
unlimited CPU time providing that the creating process also has
unlimited CPU time. If, however, the creating process does not
have unlimited CPU time, the created process receives half the CPU
time limit quota of the creating process.
The CPU time limit quota is a consumable quota; that is, the
amount of CPU time used by the created process is not returned
to the creating process when the created process is deleted.
If you restrict CPU time for a process, specify the time limit
according to the rules for specifying delta time values, as given
in the VMS DCL Concepts Manual.
/UIC
/UIC=uic
Specifies that the created process be a detached process and
assigns it a user identification code (UIC). Specify the UIC by
using standard UIC format as described in the VMS DCL Concepts
Manual.
/WORKING_SET
/WORKING_SET=default
Specifies the number of pages in the working set of the created
process.
The default working set size is the size established at system
generation time. The minimum number of pages required for a
process to execute is 10 pages. The value specified cannot be
greater than the quota specified with /MAXIMUM_WORKING_SET. A
value of 200 pages is typical.
The maximum working set quota is nondeductible.
EXAMPLES
1. $ RUN/PROCESS_NAME=SUBA SCANLINE
%RUN-S-PROC_ID, identification of created process is 00010044.
In this example, the RUN command creates a subprocess named
SUBA to run the image SCANLINE.EXE. The system gives the
subprocess an identification number of 00010044.
2. $ RUN/DELAY=3:30/OUTPUT=BALANCE.OUT BALANCE
In this example, the RUN command creates a subprocess to run
the image BALANCE.EXE 3 hours and 30 minutes from now; output
is written to the file BALANCE.OUT.
3. $ RUN/INTERVAL=1:40/PROCESS_NAME=STAT STATCHK
%RUN-S-PROC_ID, identification of created process is 00050023
.
.
.
$ CANCEL STAT
In this example, the RUN command creates a subprocess named
STAT to execute the image STATCHK.EXE. The process is scheduled
to execute the image at intervals of 1 hour and 40 minutes.
The process hibernates; however, because neither the /DELAY nor
the /SCHEDULE qualifier is specified, the first wakeup request
occurs immediately.
The CANCEL command subsequently cancels the wakeup requests
posted by the /INTERVAL qualifier. If the process is currently
executing the image, it completes the execution and hibernates.
4. $ RUN/PROCESS_NAME=LYRA LYRA -
_$/OUTPUT=_TTB3: -
_$/ERROR=_TTB3:
%RUN-S-PROC_ID, identification of created process is 000A002F
In this example, the RUN command creates a subprocess named
LYRA to execute the image LYRA.EXE. The /OUTPUT and /ERROR
qualifiers assign equivalences to the logical names SYS$OUTPUT
and SYS$ERROR for the subprocess. Any messages the subprocess
writes to its default output devices are displayed on the
terminal TTB3.
5. $ RUN/UIC=[100,4]/PRIVILEGES=(SAME,NOPSWAPM) -
_$/NORESOURCE_WAIT OVERSEER
%RUN-S-PROC_ID, identification of created process is 0001002C
In this example, the RUN command creates a detached process
to execute under the UIC [100,4]. The image OVERSEER.EXE is
executed. The RUN command gives the process all the privileges
of the current process, except the ability to alter its swap
mode. The /NORESOURCE_WAIT qualifier disables resource wait
mode for the process.
6. $ DEFINE/GROUP TEST [MALCOLM.TESTFILES]
$ RUN/PROCESS=SUB WATCH -
_$/INPUT=TEST:OUT1 -
_$/OUTPUT=F$LOGICAL("SYS$OUTPUT")
%RUN-S-PROC_ID, identification of created process is 0001002E
In this example, the DEFINE command creates an entry in the
group logical name table for the logical name TEST. The RUN
command creates a subprocess to execute the image WATCH.EXE.
The /INPUT qualifier defines SYS$INPUT for the subprocesses.
The logical name TEST defines the directory for the file
OUT1.DAT. Because the logical name TEST is in the group logical
name table, the logical name can be translated and referred to
by the image WATCH.EXE.
The /OUTPUT qualifier uses the lexical function F$LOGICAL to
translate the logical name of the current process's SYS$OUTPUT
device. The equivalence name string is equated to the device
SYS$OUTPUT for the subprocess.