客户端:

ctr/commands/tasks/start.go

第一步
—》 cmd/ctr/commands/tasks/tasks_unix.go NewTask
——》container.go NewTask
———》 c.client.TaskService().Create 调用containerd接口

第二步
—》task.go task.Start
——》t.client.TaskService().Start 调用containerd接口

containerd服务端

services/tasks/local.go Create 接口

—》 runtime/v1/linux/runtime.go Create 返回task对象
——》runtime/v1/linux/bundle.go func (r Runtime) Create
———》 runtime/v1/linux/bundle.go ShimRemote *构建启动containerd-shim的地方

———》 runtime/v1/linux/bundle.go s.Create 向containerd-shim发起create task请求

services/tasks/local.go Start 接口
—》 getTask 得到task
—》 p.Start 向containerd-shim发起start task请求