madelson
madelson
See #65 for context. In 1.x we maintain MedallionShell.StrongName separately for backwards compat. In 2.x we can strong-name the main release.
MedallionShell auto-escapes, but sometimes you need nested escaping (e. g. https://github.com/madelson/MedallionShell/issues/68#issuecomment-603876613). API might look like: ``` class Command { static string EscapeArguments(IEnumerable args, OSPlatform? platform = null) } ``` One...
See #70 as an example of where this would be helpful. API would be something like `Command.Run(..., options => options.PreserveStandardOutput())`
See https://github.com/dotnet/sdk/issues/2679
https://stackoverflow.com/questions/34504970/non-blocking-read-on-os-pipe-on-windows gives hope that this may be possible.
* Should Kill() kill child processes? * Should Kill() send signals? * Configure the Kill() behavior for timeout/cancellation * Consider changing the default strategy for timeout/cancellation E. g: ``` Timeout(TimeSpan,...
Some ideas for Windows here: https://stackoverflow.com/questions/3855956/check-if-an-executable-exists-in-the-windows-path/3856090 Not sure how hard it is to make this work cross-platform.
This is useful prior to launching a process that will outlast the current process. The problem is that if the current process is using standard IO, then the child process...
We want to be able to launch long-lived processes in a way that won't hold other handles open when the current process exits.
A common point of confusion with the library is that Run() does not wait for the process to exit. RunToEnd() would both help in cases where you just want to...