Is there any technical reason for gaol to provide its own Command abstraction over using what's available in std::process::Command? The biggest functional difference I noticed is that the gaol provided Command uses execve() to specify the environment on the spawned process while std::process::Command uses execvp(). Despite this difference, however, std::process::Command also allows for the command environment to be set with the env() and envs() methods. Is there any particular barrier preventing gaol from switching wholesale to the std implementation?
I ask because there are some useful crates, e.g. tokio-process, which directly accept or implement extra traits on top of std::process::Command, and it would be quite nice to use gaol with these libraries.
Is there any technical reason for
gaolto provide its ownCommandabstraction over using what's available instd::process::Command? The biggest functional difference I noticed is that thegaolprovidedCommanduses execve() to specify the environment on the spawned process whilestd::process::Commanduses execvp(). Despite this difference, however,std::process::Commandalso allows for the command environment to be set with theenv()andenvs()methods. Is there any particular barrier preventinggaolfrom switching wholesale to thestdimplementation?I ask because there are some useful crates, e.g. tokio-process, which directly accept or implement extra traits on top of
std::process::Command, and it would be quite nice to usegaolwith these libraries.