shithub: purgatorio

ref: c116550e6a41572796e4db65e4f6acbcb3d9d6f8
dir: /man/1/os/

View raw version
.TH OS 1 hosted
.SH NAME
os \- interface to host OS commands (hosted Inferno only)
.SH SYNOPSIS
.B bind -a '#C' /
.br
.B os
[
.B -DrcCbn
] [
.B -m
.I mountpoint
] [
.BI -d " dir"
] [
.BI -N " level"
]
.I cmd
[
.IR arg ...
]
.SH DESCRIPTION
.I Os
uses a
.IR cmd (3)
device to execute a command,
.IR cmd ,
on a host system. By default, the current working directory of the calling process inside Inferno
is used as the
.I cmd
working directory and
.B $emuroot
is prepended to
.I cmd
arguments beginning with the
.I /
character. 

If the
.B -m
option is given,
.I os
uses the device at
.IR mountpoint ,
otherwise it is asssumed to be at
.BR /cmd ,
and is bound into the local namespace if necessary.
.PP
The
.B -d
option causes the command to run in directory
.IR dir ;
an error results and the command will not run if
.I dir
does not exist or is inaccessible. If the
.B -r
option is specified, 
.B $emuroot
will not be prepended to the working directory. If the
.B -c
option is specified, the current working directory will not be used for execution. If the
.B -r
and
.B -d
options are not set, then the Inferno root directory will be used as the working directory. 
Note that the
.B -d
option overrides the 
.B -r
and
.B -c
options. The
.B -C
option disables the prepending of
.B $emuroot
to arguments to
.I cmd
beginning with the
.I /
character. 

The standard output and standard error of the command appear on the standard output
and standard error streams of the
.I os
command itself.
.I Os
copies the standard input to the remote command's standard input; redirect
.IR os 's
input to
.B /dev/null
if there is no input to the command.
.I Os
terminates when
.I cmd
does, and its exit status reflects the status of
.I cmd
(if available).
.PP
If the
.I os
command is killed or exits (eg, for lack of input and output),
the host's own process control operations are used to (attempt to) kill
.IR cmd ,
if it is still running.
The
.B -b
(background) option suppresses that behaviour.
.PP
The
.B -n
option causes
.I cmd
to run with less than normal priority (`nice').
The
.B -N
option sets low priority to a particular
.I level
from 1 to 3.
.SH FILES
.B /cmd/clone
.SH SOURCE
.B /appl/cmd/os.b
.SH "SEE ALSO"
.IR cpu (1),
.IR rcmd (1),
.IR cmd (3)
.SH DIAGNOSTICS
The exit status of
.I os
reflects any error that occurs when starting
.I cmd
and, if it starts successfully, the status of
.I os
is the exit status of
.IR cmd .