5 |
*) |
*) |
6 |
signature UNIX = sig |
signature UNIX = sig |
7 |
|
|
|
type proc |
|
|
(* |
|
8 |
type ('a, 'b) proc |
type ('a, 'b) proc |
9 |
|
|
10 |
type signal |
type signal |
16 |
| W_STOPPED of signal |
| W_STOPPED of signal |
17 |
|
|
18 |
val fromStatus : OS.Process.status -> exit_status |
val fromStatus : OS.Process.status -> exit_status |
|
*) |
|
19 |
|
|
20 |
(* executeInEnv (path, args, env) |
(* executeInEnv (path, args, env) |
21 |
* forks/execs new process given by path |
* forks/execs new process given by path |
30 |
* Simple command searching can be obtained by using |
* Simple command searching can be obtained by using |
31 |
* executeInEnv ("/bin/sh", "-c"::args, env) |
* executeInEnv ("/bin/sh", "-c"::args, env) |
32 |
*) |
*) |
33 |
val executeInEnv : string * string list * string list -> proc |
val executeInEnv : string * string list * string list -> ('a, 'b) proc |
34 |
|
|
35 |
(* execute (path, args) |
(* execute (path, args) |
36 |
* = executeInEnv (path, args, Posix.ProcEnv.environ()) |
* = executeInEnv (path, args, Posix.ProcEnv.environ()) |
37 |
*) |
*) |
38 |
val execute : string * string list -> proc |
val execute : string * string list -> ('a, 'b) proc |
39 |
|
|
40 |
(* streamsOf proc |
(* *{In,Out}treamOf proc |
41 |
* returns an instream and outstream used to read |
* returns an instream and outstream used to read |
42 |
* from and write to the stdout and stdin of the |
* from and write to the stdout and stdin of the |
43 |
* executed process. |
* executed process. |
44 |
* |
* |
45 |
* The underlying files are set to be close-on-exec. |
* The underlying files are set to be close-on-exec. |
46 |
*) |
*) |
47 |
val streamsOf : proc -> TextIO.instream * TextIO.outstream |
val textInstreamOf : (TextIO.instream, 'a) proc -> TextIO.instream |
48 |
|
val binInstreamOf : (BinIO.instream, 'a) proc -> BinIO.instream |
49 |
|
val textOutstreamOf : ('a, TextIO.outstream) proc -> TextIO.outstream |
50 |
|
val binOutstreamOf : ('a, BinIO.outstream) proc -> BinIO.outstream |
51 |
|
|
52 |
|
val streamsOf : (TextIO.instream, TextIO.outstream) proc -> |
53 |
|
TextIO.instream * TextIO.outstream |
54 |
|
|
55 |
(* reap proc |
(* reap proc |
56 |
* This closes the associated streams and waits for the |
* This closes the associated streams and waits for the |
62 |
* the process will remain a zombie and take a slot in the |
* the process will remain a zombie and take a slot in the |
63 |
* process table. |
* process table. |
64 |
*) |
*) |
65 |
val reap : proc -> Posix.Process.exit_status |
val reap : ('a, 'b) proc -> OS.Process.status |
66 |
|
|
67 |
(* kill (proc, signal) |
(* kill (proc, signal) |
68 |
* sends the Posix signal to the associated process. |
* sends the Posix signal to the associated process. |
69 |
*) |
*) |
70 |
val kill : proc * Posix.Signal.signal -> unit |
val kill : ('a, 'b) proc * signal -> unit |
71 |
|
|
72 |
|
val exit : Word8.word -> 'a |
73 |
|
|
74 |
end |
end |
75 |
|
|