2021-11-13 21:56:53 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
2023-05-13 16:10:33 +03:00
|
|
|
#ifndef LABWC_SPAWN_H
|
|
|
|
|
#define LABWC_SPAWN_H
|
2020-08-03 20:56:38 +01:00
|
|
|
|
2024-03-18 06:15:15 +01:00
|
|
|
#include <sys/types.h>
|
|
|
|
|
|
2020-08-03 20:56:38 +01:00
|
|
|
/**
|
2024-03-08 21:59:20 +09:00
|
|
|
* spawn_async_no_shell - execute asynchronously
|
2020-08-03 20:56:38 +01:00
|
|
|
* @command: command to be executed
|
|
|
|
|
*/
|
|
|
|
|
void spawn_async_no_shell(char const *command);
|
|
|
|
|
|
2024-03-18 06:15:15 +01:00
|
|
|
/**
|
|
|
|
|
* spawn_piped - execute asyncronously
|
|
|
|
|
* @command: command to be executed
|
|
|
|
|
* @pipe_fd: set to the read end of a pipe
|
|
|
|
|
* connected to stdout of the command
|
|
|
|
|
*
|
|
|
|
|
* Notes:
|
|
|
|
|
* The returned pid_t has to be waited for to
|
|
|
|
|
* not produce zombies and the pipe_fd has to
|
|
|
|
|
* be closed. spawn_piped_close() can be used
|
|
|
|
|
* to ensure both.
|
|
|
|
|
*/
|
|
|
|
|
pid_t spawn_piped(const char *command, int *pipe_fd);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* spawn_piped_close - clean up a previous
|
|
|
|
|
* spawn_piped() process
|
|
|
|
|
* @pid: will be waitpid()'d for
|
|
|
|
|
* @pipe_fd: will be close()'d
|
|
|
|
|
*/
|
|
|
|
|
void spawn_piped_close(pid_t pid, int pipe_fd);
|
|
|
|
|
|
2023-05-13 16:10:33 +03:00
|
|
|
#endif /* LABWC_SPAWN_H */
|