Repository: tokio-rs/tokio (language: rust)

Issue:
Add `tokio::process::Command::as_std_mut()` method.
**Is your feature request related to a problem? Please describe.**
Sometimes I want to access a mutable reference of `std::process::Command` out of the tokio counterpart, so I can access some unstable functions in std to update `Command`, but tokio only provides an `as_std` method returning a shared reference.

**Describe the solution you'd like**
Add a `tokio::process::Command::as_std_mut()` method, maybe like:

```rust
pub fn as_std_mut(&mut self) -> &mut StdCommand {
    &mut self.std
}
``` 

**Describe alternatives you've considered**
Implement `From<tokio::process::Command>` for `std::process::Command`? But we may lose information such as `kill_on_drop`.

Implement `tokio::process::Command::groups()` method. Seems like a better solution, but I may want to use other functions as well in the future.

**Additional context**
![screenshot](https://github.com/tokio-rs/tokio/assets/31986081/a270a478-914e-461f-85fd-6572964cb34c)




Discussion / hints:

Fix patch:
diff --git a/tokio/src/process/mod.rs b/tokio/src/process/mod.rs
index 585dbdd6af6..fc768809f02 100644
--- a/tokio/src/process/mod.rs
+++ b/tokio/src/process/mod.rs
@@ -325,6 +325,12 @@ impl Command {
         &self.std
     }
 
+    /// Cheaply convert to a `&mut std::process::Command` for places where the type from the
+    /// standard library is expected.
+    pub fn as_std_mut(&mut self) -> &mut StdCommand {
+        &mut self.std
+    }
+
     /// Adds an argument to pass to the program.
     ///
     /// Only one argument can be passed per use. So instead of:


Test patch: