dntask - Execute VMS command procedures
[-biVh] [-t timeout]
dntask runs command procedures on a remote VMS system.
It takes advantage of the ability of the TASK object in DECnet to execute an
arbitrary command procedure located in the users' login directory. The remote
command procedure should output to SYS$NET rather than SYS$OUTPUT and (if
interactive) read it's input also from SYS$NET.
The VMS equivalent of the (non-interactive version) command would be
For some example command procedures see the tasks directory of the source
is a non-interactive task that simply
displays the output of the VMS "SHOW SYSTEM" command on standard
is an interactive task that allows you to enter
DCL commands to be executed on the host VMS system. Be careful which commands
you enter because they will expect input to come from the network connection,
for instance programs that do screen orientated input or output will almost
certainly not work.
Task names can be up to 16 characters in length because that's the limit on
DECnet object names.
- Send the output in binary mode. By default the output from
the DECnet task is assumed to be records. This option sends the data
"as is" so you can put commands like BACKUP in the task and
backup to your Linux box.
- Interact with the command procedure. The command procedure
must be written to be interactive by reading from and writing to SYS$NET.
Specifying -i for a non-interactive command procedure will cause
dntask to time-out waiting for input. Not specifying -i for
an interactive command procedure will cause it to exit prematurely at the
- -t timeout
- Specifies the timeout in seconds for interactive command
procedures. If no input has been received from either standard input or
the VMS end in this time then dntask will exit. The default is 60 seconds.
If the value 0 is given then dntask will wait forever (or until you kill
- -T connect timeout
- Specifies the maximum amount of time the command will wait
to establish a connection with the remote node. a 0 here will cause it to
wait forever. The default is 60 seconds
- -h -?
- Displays help for using the command.
- Show the version of the tools package that dntask comes
The command procedure that you write MUST ALWAYS write something to SYS$NET or
you will get a "connection refused" message. This is a limitation
with DECnet objects.
eg. If you write a task to start a remote DECterm it would look something like
$ remnode=f$element(0, ":",
$ set display/create/node='remnode'
$ def/nolog sys$output sys$net
$ write sys$output "DECterm started on ''remnode'"
The "write" command near the end is essential.
dndir -i 'tramp"christine pjc123"::interactive'
dndir -i 'tramp"christine -"::interactive'
Specifying "-" in the password field will prompt for the password.