Subprocesses with pipable stdin, stdout and stderr.
More...
Subprocesses with pipable stdin, stdout and stderr.
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.
int bg_system |
( |
const char * |
command | ) |
|
Run a command as a subprocess.
- Parameters
-
- Returns
- Return code of the program
This is pretty much the same as the system() function