فهرست منبع

Container: Always create a new session for the container

We never want the container to be in the same process group as the
daemon, as then the container will receive signals sent to the
process group of the container.
Alexander Larsson 12 سال پیش
والد
کامیت
c1c74cb0b1
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      container.go

+ 3 - 1
container.go

@@ -393,7 +393,7 @@ func (container *Container) startPty() error {
 	// stdin
 	if container.Config.OpenStdin {
 		container.cmd.Stdin = ptySlave
-		container.cmd.SysProcAttr = &syscall.SysProcAttr{Setctty: true, Setsid: true}
+		container.cmd.SysProcAttr.Setctty = true
 		go func() {
 			defer container.stdin.Close()
 			utils.Debugf("[startPty] Begin of stdin pipe")
@@ -800,6 +800,8 @@ func (container *Container) Start(hostConfig *HostConfig) error {
 		return err
 	}
 
+	container.cmd.SysProcAttr = &syscall.SysProcAttr{Setsid: true}
+
 	var err error
 	if container.Config.Tty {
 		err = container.startPty()