\maybeclearpage
\section{The {\cf OS.\-Process} structure}


The {\cf \small OS.\-Process} structure provides functions for manipulating processes in an  operating system independent manner. 
\begin{synopsis}
\item {\kw{signature}} \textcf{CML\_\linebreak[0]OS\_\linebreak[0]PROCESS}\label{sig-CML_OS_PROCESS}
\item {\STRUCTURE} \textcf{OS.Process: CML\_\linebreak[0]OS\_\linebreak[0]PROCESS}\label{str-OS.Process}
\end{synopsis}

\begin{interface}
\Nopagebreak
\item {\index{OS_PROCESS@OS\_\linebreak[0]PROCESS!CML_OS_PROCESS@\textcf{CML\_\linebreak[0]OS\_\linebreak[0]PROCESS}}}{\cf OS{\tt\_}\linebreak[0]PROCESS}\marginref{OS\_\linebreak[0]PROCESS}{sig-OS_PROCESS}{sigOSPROCESS}\Nopagebreak
\item {\index{systemEvt@systemEvt!CML_OS_PROCESS@\textcf{CML\_\linebreak[0]OS\_\linebreak[0]PROCESS}}}{\kw{val}} {\cf systemEvt: \(\mbox{\cf{}string}\rightarrow \mbox{\cf{}status}\;\mbox{\cf{}event}\)}

\end{interface}

\begin{descr}
\item {\index{systemEvt@systemEvt!CML_OS_PROCESS@\textcf{CML\_\linebreak[0]OS\_\linebreak[0]PROCESS}}}{\kw{val}} {\cf systemEvt: \(\mbox{\cf{}string}\rightarrow \mbox{\cf{}status}\;\mbox{\cf{}event}\)}\label{val-CML_OS_PROCESS.systemEvt}\linebreak[3]\hspace*{\fill}\mbox{~~~~\textrm{raises}~{\cf Sys\-Err}}


\begin{speccomment}
\item {\cf \small system\-Evt \mbox{\cf \small \textit{cmd}}           } 
asks the operating system to execute the command \mbox{\cf \small \textit{cmd}} as 	  a sub-process, and returns an event for synchronizing on the 	  termination of the sub-process.           Raises {\cf \small Sys\-Err} if the command cannot be executed.           

          Note that, although this function is independent of the operating           system, the interpretation of the string \mbox{\cf \small \textit{cmd}} depends           very much on the underlying operating system and shell.\end{speccomment}
\end{descr}

\begin{seealso}
{\cf OS} (\pageref{str-OS}), {\cf OS.\-Process} (\pageref{str-CML_OS.Process})
\end{seealso}
