Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 Server Administration Documentation | 2025.2

# p4dctl commands

## Syntax

Category | Syntax
--- | ---
Control services | `p4dctl [ options ] start [ -t type ] -a` `p4dctl [ options ] start [ -t type ] name` `p4dctl [ options ] stop [ -t type ] -a` `p4dctl [ options ] stop [ -t type ] name` `p4dctl [ options ] restart [ -t type ] -a` `p4dctl [ options ] restart [ -t type ] name`
Checkpoints and journals | The `p4dctl checkpoint` command is similar to the `p4d -jc` command. `p4dctl [ options ] checkpoint -a` `p4dctl [ options ] checkpoint name`
Query services | `p4dctl [ options ] status [ -t type ] -a` `p4dctl [ options ] status [ -t type ] name` `p4dctl [ options ] list [ -t type ]` `p4dctl [ options ] list [ -t type ] name` `p4dctl [ options ] env [ -t type ] -a var [var…​]` `p4dctl [ options ] status [ -t type ] name var [var…​]`
Arbitrary command on the servers (or services) that match `name` | `p4dctl [options] exec -t type [-r] [-n] [-f] name -- arg` Executes the binary for the specified service matching `type` and `name` with the argument(s) specified after the `--` separator of two hyphens. The service binary is executed with the same environment variables that `p4dctl start` would set. Examples:
`p4dctl exec -t p4d name -- -xu` | when Upgrade the server
`p4dctl exec -t p4d -f master -- -cshow` | to verify the user, p4d binary, and P4ROOT
`p4dctl exec -t p4d -f master -- -V` | to execute `p4d -V` without having to check whether the p4d in your path is the p4d specified in the configuration of that instance

## Options

See also the meaning of variable names in Configuration file format.

Options | Meaning
--- | ---
`-a` | All servers.
`-c configFile` | Path to the configuration file Default: `/etc/perforce/p4dctl.conf`
`-f` | Force `exec` to execute the command even if that p4d instance is currently running.
`-n` | Used with `exec` to preview rather than run the command.
`-p pidDir` | Path to the pid file directory. Default: `/var/run`
`-q` | Send output to syslog instead of `STDOUT` or `STDERR`
`-r` | Restricts the `arg` arguments for `exec` to those explicitly included with the `exec` command. Without `-r`, if the service is configured with arguments, they are honored and any additional `arg` arguments in this `exec` command are appended.
`-t type` | The service type of the p4d instance to run, such as `p4d`, `p4p`, `p4broker`, and `other`.
`-v level` | Set debug level (`0`-`9`) For more information, see the description of the `P4DEBUG` environment variable in the P4 CLI Reference.
`-V` | Display version and exit.

## Troubleshooting

### Checkpointing failed

If you get an exit code error that says `exited with status 255`, it might be similar to the following:

    p4dctl error:
        Checkpointing ‘Edge-London' service failed. This needs investigation!
        'Edge-London' p4d: '/usr/local/bin/p4d-2025.2 -jc -Z' exited with status 255.

Possible causes include

- No valid ticket file could be located.

- Replication is not working as shown by the `p4 pull -lj` command.

To get additional information that you can share with Perforce Support, include `-v 9` when running the command. For example:

    p4dctl -v 9 checkpoint Edge-London

### Not all services started

If you get an exit code error that says `exited with status 255`, it might be similar to the following:

    $ p4dctl start commit-US
    p4dctl error:
    'commit-US' p4d: '/opt/perforce/sbin/p4d' exited with status 255.
    Started 0 services.
    p4dctl error:
        Not all services started successfully.

Possible causes include:

- Database has not been upgraded following an upgrade to a new P4 Server release.

Check the package upgrade messages for corrective action, possibly showing:
`sudo -u "perforce" p4dctl exec -t p4d commit-US -- -xu # server commit-US`

Your search for returned results