sys_unix.go 495 B

1234567891011121314151617181920212223242526
  1. //go:build !windows && !plan9 && !js
  2. package daemon
  3. import (
  4. "os"
  5. "syscall"
  6. "golang.org/x/sys/unix"
  7. )
  8. var errConnRefused = syscall.ECONNREFUSED
  9. // Make sure that files created by the daemon is not accessible to other users.
  10. func setUmaskForDaemon() { unix.Umask(0077) }
  11. func procAttrForSpawn(files []*os.File) *os.ProcAttr {
  12. return &os.ProcAttr{
  13. Dir: "/",
  14. Env: []string{},
  15. Files: files,
  16. Sys: &syscall.SysProcAttr{
  17. Setsid: true, // detach from current terminal
  18. },
  19. }
  20. }