V1.EzWin32
val waitpids : int array -> int * Unix.process_status
val getFileInformationByHandle : Unix.file_descr -> fileinfo
val getFileInformationByName : string -> fileinfo
val create_process :
string ->
string array ->
Unix.file_descr ->
Unix.file_descr ->
Unix.file_descr ->
int
create_process prog args new_stdin new_stdout new_stderr
forks a new process that executes the program in file prog
, with arguments args
. The pid of the new process is returned immediately; the new process executes concurrently with the current process. The standard input and outputs of the new process are connected to the descriptors new_stdin
, new_stdout
and new_stderr
. Passing e.g. stdout
for new_stdout
prevents the redirection and causes the new process to have the same standard output as the current process. The executable file prog
is searched in the path. The new process has the same environment as the current process.
val create_process_env :
string ->
string array ->
string array ->
Unix.file_descr ->
Unix.file_descr ->
Unix.file_descr ->
int
create_process_env prog args env new_stdin new_stdout new_stderr
works as Unix.create_process
, except that the extra argument env
specifies the environment passed to the program.
High-level pipe and process management. This function runs the given command in parallel with the program. The standard output of the command is redirected to a pipe, which can be read via the returned input channel. The command is interpreted by the shell /bin/sh
(cf. system
).
Same as Unix.open_process_in
, but redirect the standard input of the command to a pipe. Data written to the returned output channel is sent to the standard input of the command. Warning: writes on output channels are buffered, hence be careful to call Pervasives.flush
at the right times to ensure correct synchronization.
Same as Unix.open_process_out
, but redirects both the standard input and standard output of the command to pipes connected to the two returned channels. The input channel is connected to the output of the command, and the output channel to the input of the command.
val open_process_full :
string ->
string array ->
Stdlib.in_channel * Stdlib.out_channel * Stdlib.in_channel
Similar to Unix.open_process
, but the second argument specifies the environment passed to the command. The result is a triple of channels connected respectively to the standard output, standard input, and standard error of the command.
val close_process_in : Stdlib.in_channel -> Unix.process_status
Close channels opened by Unix.open_process_in
, wait for the associated command to terminate, and return its termination status.
val close_process_out : Stdlib.out_channel -> Unix.process_status
Close channels opened by Unix.open_process_out
, wait for the associated command to terminate, and return its termination status.
val close_process :
(Stdlib.in_channel * Stdlib.out_channel) ->
Unix.process_status
Close channels opened by Unix.open_process
, wait for the associated command to terminate, and return its termination status.
val close_process_full :
(Stdlib.in_channel * Stdlib.out_channel * Stdlib.in_channel) ->
Unix.process_status
Close channels opened by Unix.open_process_full
, wait for the associated command to terminate, and return its termination status.
val create_process_chdir :
?chdir:string ->
?env:string ->
cmd:string ->
string ->
stdin:Unix.file_descr ->
stdout:Unix.file_descr ->
stderr:Unix.file_descr ->
int
type rkey_value = string array * string * dwType
val string_of_rkey : rkey_value -> string
val read_standard_config : rkey_value -> dwType * string
val read_key : hroot -> rkey_value -> dwType * string
val write_key : hroot -> rkey_value -> string -> unit
val delete_key : hroot -> rkey_value -> bool