Skip to content

Commit 0896078

Browse files
committed
Add new command implementation
Signed-off-by: apostasie <[email protected]>
1 parent 423fc1f commit 0896078

File tree

11 files changed

+1892
-0
lines changed

11 files changed

+1892
-0
lines changed

mod/tigron/internal/com/command.go

Lines changed: 443 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//go:build !windows
2+
3+
/*
4+
Copyright The containerd Authors.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
*/
18+
19+
package com
20+
21+
import (
22+
"os/exec"
23+
"syscall"
24+
)
25+
26+
func addAttr(cmd *exec.Cmd) func() error {
27+
// Default shutdown will leave child processes behind in certain circumstances
28+
cmd.SysProcAttr = &syscall.SysProcAttr{
29+
Setsid: true,
30+
// FIXME: understand why we would want that
31+
// Setctty: true,
32+
}
33+
34+
return func() error {
35+
_ = syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL)
36+
37+
return nil
38+
}
39+
}

0 commit comments

Comments
 (0)