spawn_sync
Description:
public bool spawn_sync (PtyFlags pty_flags, string? working_directory, string[] argv, string[]? envv, SpawnFlags spawn_flags, SpawnChildSetupFunc? child_setup, out Pid child_pid, Cancellable? cancellable = null) throws Error
Warning: spawn_sync is deprecated since 0.48.
Starts the specified command under a newly-allocated controlling pseudo-terminal.
Use spawn_async instead.
The argv
and envv
lists should be null
-terminated. The "TERM" environment variable is automatically set
to a default value, but can be overridden from envv
. pty_flags
controls logging the session to the specified system
log files.
Note that DO_NOT_REAP_CHILD will always be added to
spawn_flags
.
Note also that STDOUT_TO_DEV_NULL,
STDERR_TO_DEV_NULL, and
CHILD_INHERITS_STDIN are not supported in spawn_flags
, since stdin, stdout and stderr of the child process will always be connected to the PTY.
Note that all open file descriptors will be closed in the child. If you want to keep some file descriptor open for use in the child process, you need to use a child setup function that unsets the FD_CLOEXEC flag on that file descriptor.
See Pty, spawn_async and watch_child for more information.
Beginning with 0.52, sets PWD to working_directory
in order to preserve symlink components. The caller should also make sure that
symlinks were preserved while constructing the value of working_directory
, e.g. by using
get_current_directory_uri,
get_current_dir or get_current_dir_name
.
Parameters:
this |
a Terminal |
pty_flags |
flags from PtyFlags |
working_directory |
the name of a directory the command should start in, or |
argv |
child's argument vector |
envv |
a list of environment variables to be added to the environment before starting the process, or |
spawn_flags |
flags from SpawnFlags |
child_setup |
an extra child setup function to run in the child just before |
child_pid |
a location to store the child PID, or |
cancellable |
a Cancellable, or |
child_setup_data |
user data for |
Returns:
|