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  }