forked from TrueCloudLab/restic
Only use Setsid on Unix.
Setsid is not a part of syscall.SysProcAttr on Windows, so we only set that on systems that have it.
This commit is contained in:
parent
7c84d810d3
commit
2dcb527828
2 changed files with 15 additions and 1 deletions
|
@ -28,6 +28,8 @@ type SFTP struct {
|
|||
cmd *exec.Cmd
|
||||
}
|
||||
|
||||
var sysProcAttr syscall.SysProcAttr
|
||||
|
||||
func startClient(program string, args ...string) (*SFTP, error) {
|
||||
// Connect to a remote host and request the sftp subsystem via the 'ssh'
|
||||
// command. This assumes that passwordless login is correctly configured.
|
||||
|
@ -37,7 +39,7 @@ func startClient(program string, args ...string) (*SFTP, error) {
|
|||
cmd.Stderr = os.Stderr
|
||||
|
||||
// ignore signals sent to the parent (e.g. SIGINT)
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{Setsid: true}
|
||||
cmd.SysProcAttr = &sysProcAttr
|
||||
|
||||
// get stdin and stdout
|
||||
wr, err := cmd.StdinPipe()
|
||||
|
|
12
backend/sftp/sftp_unix.go
Normal file
12
backend/sftp/sftp_unix.go
Normal file
|
@ -0,0 +1,12 @@
|
|||
// +build !windows
|
||||
|
||||
package sftp
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func init() {
|
||||
// ignore signals sent to the parent (e.g. SIGINT)
|
||||
sysProcAttr = syscall.SysProcAttr{Setsid: true}
|
||||
}
|
Loading…
Reference in a new issue