next node: UserAndGroupConv,
prev node: FileSystem,
up to node: Subsystem Unix


Process

Functions from this structure are outdated, use instead functions from ProcessCtrl.

Signature of Process

List of Import References :
See BOOL
See Char
See Com
See DENOTATION
See File
See Int
See Nat
See Option
See Pair
See Seq
See String
See Void

SIGNATURE Process

$Date: 2010-09-30 18:24:17 +0200 (Do, 30. Sep 2010) $ ($Revision: 616 $)

-- unix like processes

IMPORT  Nat                ONLY  nat
        Void               ONLY  void
        String             ONLY  string
        Seq[string]        ONLY  seq
        Option[seq[string]] ONLY option
        Pair[process,nat]  ONLY  pair
        Com[process]       ONLY  com
        Com[pair]          ONLY  com
        Com[void]          ONLY  com
        File               ONLY  file
        Com[file]          ONLY  com

SORT process 
/$ WARNING [process] structure Process is outdated, use functions from structure ProcessCtrl instead $/
/$ WARNING [popen] structure Process is outdated, use functions from structure ProcessCtrl instead $/
/$ WARNING [pclose] structure Process is outdated, use functions from structure ProcessCtrl instead $/

FUN self           : process
                   -- myself

FUN self?          : process -> bool
                   -- process in hand myself?

FUN fork           : com[process]
                   -- fork & (\\ P . ...)
                   -- create new process: on success, self?(P) is true
                   -- for the child, P is the childs pid for the parent.

FUN execve         : denotation ** seq[string] ** option[seq[string]]
                                                        -> com[void]
                   -- execve(Prog, ArgS, EnvS?)
                   -- transforms calling process into new process with
                   -- image Prog und arguments ArgS
                   -- new process has the same environment as the calling
                   -- process if EnvS? is not avail

FUN kill           : process ** nat -> com[void]
                   -- kill(P,s) & (\\ - . ...)
                   -- send signal s to process 

FUN wait           : com[pair[process,nat]]
                   -- wait & (\\Pair . ...)
                   -- wait for termination of some child: 1st(Pair) is the 
                   -- terminated child, 2nd(Pair) its status.
  

FUN popen          : denotation ** denotation -> com[file]
                   -- popen(Command,Type) & (\\ File. ...)
                   -- excute Command under sh(1), with File
                   -- input from its standard output (Type = "r")
                   -- or File output to its standard input (Type = "w")

FUN pclose         : file -> com[void]
                   -- must be used to close file
                   -- obtained by pin / pout 


next node: UserAndGroupConv,
prev node: FileSystem,
up to node: Subsystem Unix