# Managing `DM` Tasks using `dmctl`

+ Controlling subtasks is possible by specifying the **`source_id`** in following actions:
  + **`start-task`**
  + **`pause-task`**
  + **`resume-task`**
  + **`stop-task`**

```
$ tiup dmctl ~!@check-task@!~ {path_to_task_yaml}

$ tiup dmctl ~!@start-task@!~ [-s {source_id}] {path_to_task_yaml}

$ tiup dmctl ~!@query-status@!~

$ tiup dmctl ~!@pause-task@!~ [-s {source_id}] {task_name}

$ tiup dmctl ~!@resume-task@!~ [-s {source_id}] {task_name}

$ tiup dmctl ~!@stop-task@!~ [-s {source_id}] {task_name}
```

```
~!@// Start Task Example@!~

$ tiup start-task ./test-task.yaml
{
    "result": true,
    "msg": "",
    "sources": [
        {
            "result": true,
            "msg": "",
            "source": "mysql-replica-01",
            "worker": "dm-worker-1"
        }
    ]
}
```
-------------------------------------------------------------
More details at document site:  
- `https://docs.pingcap.com/tidb/stable/dm-precheck`.
- `https://docs.pingcap.com/tidb/stable/dm-create-task`.
- `https://docs.pingcap.com/tidb/stable/dm-query-status`.
- `https://docs.pingcap.com/tidb/stable/dm-pause-task`.
- `https://docs.pingcap.com/tidb/stable/dm-resume-task`.
- `https://docs.pingcap.com/tidb/stable/dm-stop-task`.