---
layout: docs
page_title: 'Commands: alloc restart'
description: |
  Restart a running allocation or task
---

# Command: alloc restart

The `alloc restart` command allows a user to perform an in place restart of an
an entire allocation or individual task.

## Usage

```plaintext
nomad alloc restart [options] <allocation> <task>
```

This command accepts a single allocation ID and a task name. The task name must
be part of the allocation and the task must be currently running. The task name
is optional and if omitted every task in the allocation will be restarted.

Task name may also be specified using the `-task` option rather than a command 
argument. If task name is given with both an argument and the `-task` option, 
preference is given to the `-task` option.

When ACLs are enabled, this command requires a token with the
`alloc-lifecycle`, `read-job`, and `list-jobs` capabilities for the
allocation's namespace.

## General Options

@include 'general_options.mdx'

## Restart Options

- `-task`: Specify the individual task to restart.

- `-verbose`: Display verbose output.

## Examples

```shell-session
$ nomad alloc restart eb17e557

$ nomad alloc restart eb17e557 foo
Could not find task named: foo, found:
* test
<blocking>
```

Specifying task name with the `-task` option:

```shell-session
$ nomad alloc restart -task redis eb17e557
```

If task name is specified using both options, the command argument is ignored.
The following will restart the "redis" task only, not the "api" task:

```shell-session
$ nomad alloc restart -task redis eb17e557 api
```
