| package daemon |
| |
| import ( |
| "errors" |
| "strconv" |
| |
| "github.com/docker/engine-api/types" |
| ) |
| |
| // ContainerTop is a minimal implementation on Windows currently. |
| // TODO Windows: This needs more work, but needs platform API support. |
| // All we can currently return (particularly in the case of Hyper-V containers) |
| // is a PID and the command. |
| func (daemon *Daemon) ContainerTop(containerID string, psArgs string) (*types.ContainerProcessList, error) { |
| |
| // It's really not an equivalent to linux 'ps' on Windows |
| if psArgs != "" { |
| return nil, errors.New("Windows does not support arguments to top") |
| } |
| |
| s, err := daemon.containerd.Summary(containerID) |
| if err != nil { |
| return nil, err |
| } |
| |
| procList := &types.ContainerProcessList{} |
| |
| for _, v := range s { |
| procList.Titles = append(procList.Titles, strconv.Itoa(int(v.Pid))+" "+v.Command) |
| } |
| return procList, nil |
| } |