Merge pull request #2813 from lifubang/deleteexec
add ctr delete --exec-id to help debug DeleteProcess
This commit is contained in:
commit
0b064b0f9d
@ -32,8 +32,16 @@ var deleteCommand = cli.Command{
|
||||
Name: "force, f",
|
||||
Usage: "force delete task process",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "exec-id",
|
||||
Usage: "process ID to kill",
|
||||
},
|
||||
},
|
||||
Action: func(context *cli.Context) error {
|
||||
var (
|
||||
execID = context.String("exec-id")
|
||||
force = context.Bool("force")
|
||||
)
|
||||
client, ctx, cancel, err := commands.NewClient(context)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -48,9 +56,22 @@ var deleteCommand = cli.Command{
|
||||
return err
|
||||
}
|
||||
var opts []containerd.ProcessDeleteOpts
|
||||
if context.Bool("force") {
|
||||
if force {
|
||||
opts = append(opts, containerd.WithProcessKill)
|
||||
}
|
||||
if execID != "" {
|
||||
p, err := task.LoadProcess(ctx, execID, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
status, err := p.Delete(ctx, opts...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if ec := status.ExitCode(); ec != 0 {
|
||||
return cli.NewExitError("", int(ec))
|
||||
}
|
||||
} else {
|
||||
status, err := task.Delete(ctx, opts...)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -58,6 +79,7 @@ var deleteCommand = cli.Command{
|
||||
if ec := status.ExitCode(); ec != 0 {
|
||||
return cli.NewExitError("", int(ec))
|
||||
}
|
||||
}
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user