From e343006b8f2fa7ca48ab18df0b2dee7c2d5ac6de Mon Sep 17 00:00:00 2001 From: Jess Valarezo Date: Tue, 13 Mar 2018 14:58:31 -0700 Subject: [PATCH] ctr: allow for force kill when deleting task process Signed-off-by: Jess Valarezo --- cmd/ctr/commands/tasks/delete.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/cmd/ctr/commands/tasks/delete.go b/cmd/ctr/commands/tasks/delete.go index a275dadcf..5543d5541 100644 --- a/cmd/ctr/commands/tasks/delete.go +++ b/cmd/ctr/commands/tasks/delete.go @@ -17,14 +17,21 @@ package tasks import ( + "github.com/containerd/containerd" "github.com/containerd/containerd/cmd/ctr/commands" "github.com/urfave/cli" ) var deleteCommand = cli.Command{ Name: "delete", - Usage: "delete a task", + Usage: "[flags] delete a task", ArgsUsage: "CONTAINER", + Flags: []cli.Flag{ + cli.BoolFlag{ + Name: "force, f", + Usage: "force delete task process", + }, + }, Action: func(context *cli.Context) error { client, ctx, cancel, err := commands.NewClient(context) if err != nil { @@ -35,11 +42,16 @@ var deleteCommand = cli.Command{ if err != nil { return err } + task, err := container.Task(ctx, nil) if err != nil { return err } - status, err := task.Delete(ctx) + var opts []containerd.ProcessDeleteOpts + if context.Bool("force") { + opts = append(opts, containerd.WithProcessKill) + } + status, err := task.Delete(ctx, opts...) if err != nil { return err }