daemon_unix.go 827 B

12345678910111213141516171819202122232425262728293031323334353637
  1. //go:build !windows
  2. package daemon // import "github.com/docker/docker/testutil/daemon"
  3. import (
  4. "os/exec"
  5. "syscall"
  6. "testing"
  7. "github.com/moby/sys/mount"
  8. "golang.org/x/sys/unix"
  9. )
  10. // cleanupMount unmounts the daemon root directory, or logs a message if
  11. // unmounting failed.
  12. func cleanupMount(t testing.TB, d *Daemon) {
  13. t.Helper()
  14. if err := mount.Unmount(d.Root); err != nil {
  15. d.log.Logf("[%s] unable to unmount daemon root (%s): %v", d.id, d.Root, err)
  16. }
  17. }
  18. // SignalDaemonDump sends a signal to the daemon to write a dump file
  19. func SignalDaemonDump(pid int) {
  20. unix.Kill(pid, unix.SIGQUIT)
  21. }
  22. func signalDaemonReload(pid int) error {
  23. return unix.Kill(pid, unix.SIGHUP)
  24. }
  25. func setsid(cmd *exec.Cmd) {
  26. if cmd.SysProcAttr == nil {
  27. cmd.SysProcAttr = &syscall.SysProcAttr{}
  28. }
  29. cmd.SysProcAttr.Setsid = true
  30. }