You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I know the _exec function on Windows just starts a new process and exits the current one. You can do that anyhow in Go, using the os/exec package. syscall.Exec on Unix systems starts a new executable in the same process, with the same process ID. I don't think Windows has that facility, so we don't provide syscall.Exec on Windows.
The docs say exec uses the underlying CreateProcess call, but also that the caller ceases, and all files are open in the new process.
Looking a bit more, it looks like os.Exec wraps os.StartProcess, which wraps syscall.StartProcess which, on windows, is CreateProcess. Between those I probably have all the rope there is to have.
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What did you do?
I used
syscall.Exec
on a windows machine.What did you expect to see?
I expected an exec to happen. Windows does seem to support some set of the exec calls.
What did you see instead?
syscall.Exec: not supported by windows
Due to https://golang.org/src/syscall/exec_windows.go#338
Discussion
I'm not sure what all the context for this is, but is there a reason Exec isn't supported on windows?
The text was updated successfully, but these errors were encountered: