Subprocesses with pipable stdin, stdout and stderr.
More...
Detailed Description
Subprocesses with pipable stdin, stdout and stderr.
Function Documentation
bg_subprocess_t* bg_subprocess_create |
( |
const char * |
command, |
|
|
int |
do_stdin, |
|
|
int |
do_stdout, |
|
|
int |
do_stderr |
|
) |
| |
Create a subprocess.
- Parameters:
-
command | Command, will be passed to /bin/sh |
do_stdin | 1 if stdin should be connected by a pipe, 0 else |
do_stdout | 1 if stdout should be connected by a pipe, 0 else |
do_stderr | 1 if stderr should be connected by a pipe, 0 else |
A new handle with the runnig child program or NULL
Send a signal to a process.
- Parameters:
-
proc | A subprocess |
signal | Which signal to send |
Types for signal are the same as in <signal.h>
Close a subprocess and free all associated memory.
- Parameters:
-
- Returns:
- The return code of the program
int bg_subprocess_read_line |
( |
int |
fd, |
|
|
char ** |
ret, |
|
|
int * |
ret_alloc, |
|
|
int |
timeout |
|
) |
| |
Read a line from stdout or stderr of a process.
- Parameters:
-
fd | The filesecriptor |
ret | String (will be realloced) |
ret_alloc | Allocated size of the string (will be changed with each realloc) |
timeout | Timeout in milliseconds |
- Returns:
- 1 if a line could be read, 0 else
int bg_subprocess_read_data |
( |
int |
fd, |
|
|
uint8_t * |
ret, |
|
|
int |
len |
|
) |
| |
Read data from stdout or stderr of a process.
- Parameters:
-
fd | The filesecriptor |
ret | Pointer to allocated memory, where the data will be placed |
len | How many bytes to read |
- Returns:
- The number of bytes read
If the return value is smaller than the number of bytes you requested, you can assume, that the process finished and won't send more data.