Rollup merge of #99088 - niklasf:stabilize-process_set_process_group, r=joshtriplett
Document and stabilize process_set_process_group Tracking issue: https://github.com/rust-lang/rust/issues/93857 FCP finished here: https://github.com/rust-lang/rust/issues/93857#issuecomment-1179551697
This commit is contained in:
commit
f49d267136
@ -148,9 +148,36 @@ pub trait CommandExt: Sealed {
|
|||||||
where
|
where
|
||||||
S: AsRef<OsStr>;
|
S: AsRef<OsStr>;
|
||||||
|
|
||||||
/// Sets the process group ID of the child process. Translates to a `setpgid` call in the child
|
/// Sets the process group ID (PGID) of the child process. Equivalent to a
|
||||||
/// process.
|
/// `setpgid` call in the child process, but may be more efficient.
|
||||||
#[unstable(feature = "process_set_process_group", issue = "93857")]
|
///
|
||||||
|
/// Process groups determine which processes receive signals.
|
||||||
|
///
|
||||||
|
/// # Examples
|
||||||
|
///
|
||||||
|
/// Pressing Ctrl-C in a terminal will send SIGINT to all processes in
|
||||||
|
/// the current foreground process group. By spawning the `sleep`
|
||||||
|
/// subprocess in a new process group, it will not receive SIGINT from the
|
||||||
|
/// terminal.
|
||||||
|
///
|
||||||
|
/// The parent process could install a signal handler and manage the
|
||||||
|
/// subprocess on its own terms.
|
||||||
|
///
|
||||||
|
/// A process group ID of 0 will use the process ID as the PGID.
|
||||||
|
///
|
||||||
|
/// ```no_run
|
||||||
|
/// use std::process::Command;
|
||||||
|
/// use std::os::unix::process::CommandExt;
|
||||||
|
///
|
||||||
|
/// Command::new("sleep")
|
||||||
|
/// .arg("10")
|
||||||
|
/// .process_group(0)
|
||||||
|
/// .spawn()?
|
||||||
|
/// .wait()?;
|
||||||
|
/// #
|
||||||
|
/// # Ok::<_, Box<dyn std::error::Error>>(())
|
||||||
|
/// ```
|
||||||
|
#[stable(feature = "process_set_process_group", since = "1.64.0")]
|
||||||
fn process_group(&mut self, pgroup: i32) -> &mut process::Command;
|
fn process_group(&mut self, pgroup: i32) -> &mut process::Command;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user