src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/daemon/sys_unix.go (about) 1 //go:build unix 2 3 package daemon 4 5 import ( 6 "os" 7 "syscall" 8 9 "golang.org/x/sys/unix" 10 ) 11 12 var errConnRefused = syscall.ECONNREFUSED 13 14 // Make sure that files created by the daemon is not accessible to other users. 15 func setUmaskForDaemon() { unix.Umask(0077) } 16 17 func procAttrForSpawn(files []*os.File) *os.ProcAttr { 18 return &os.ProcAttr{ 19 Dir: "/", 20 Env: []string{}, 21 Files: files, 22 Sys: &syscall.SysProcAttr{ 23 Setsid: true, // detach from current terminal 24 }, 25 } 26 }