---
name: "rpc.lockd"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/lockd"
---

# rpc.lockd(8)

NFS file locking daemon

Part of [lockd(8)](/lockd/8.md).

## NAME

**rpc.lockd** – NFS file locking daemon

## SYNOPSIS

**rpc.lockd** \[**-d** *debug\_level*\] \[**-F**\] \[**-g** *grace* *period*\] \[**-h** *bindip*\] \[**-p** *port*\]

## DESCRIPTION

The **rpc.lockd** utility provides monitored and unmonitored file and record locking services in an NFSv3 environment. To monitor the status of hosts requesting locks, the locking daemon typically operates in conjunction with [rpc.statd(8)](/rpc.statd/8.md).

Options and operands available for **rpc.lockd**:

- **-d**

  The **-d** option causes debugging information to be written to syslog, recording all RPC transactions to the daemon. These messages are logged with level LOG\_DEBUG and facility LOG\_DAEMON. Specifying a *debug\_level* of 1 results in the generation of one log line per protocol operation. Higher debug levels can be specified, causing display of operation arguments and internal operations of the daemon.

- **-F**

  Run **rpc.lockd** in the foreground, rather than going into daemon mode. This is useful if some other process uses [fork(2)](/fork/2.md) and [exec(3)](/exec/3.md) to run **rpc.lockd**, and wants to monitor when and how it exits.

- **-g**

  The **-g** option allow to specify the *grace* *period*, in seconds. During the grace period **rpc.lockd** only accepts requests from hosts which are reinitialising locks which existed before the server restart. Default is 30 seconds.

- **-h** *bindip*

  Specify specific IP addresses to bind to. This option may be specified multiple times. If no **-h** option is specified, **rpc.lockd** will bind to INADDR\_ANY. Note that when specifying IP addresses with **-h**, **rpc.lockd** will automatically add 127.0.0.1 and if IPv6 is enabled, ::1 to the list.

- **-p**

  The **-p** option allow to force the daemon to bind to the specified *port*, for both AF\_INET and AF\_INET6 address families.

Error conditions are logged to syslog, irrespective of the debug level, using log level LOG\_ERR and facility LOG\_DAEMON.

The **rpc.lockd** utility must NOT be invoked by [inetd(8)](/inetd/8.md) because the protocol assumes that the daemon will run from system start time. Instead, it should be configured in [rc.conf(5)](/rc.conf/5.md) to run at system startup.

## FILES

- */usr/include/rpcsvc/nlm\_prot.x*

  RPC protocol specification for the network lock manager protocol.

## SEE ALSO

[syslog(3)](/syslog/3.md), [nfslockd(4)](/nfslockd/4.md), [rc.conf(5)](/rc.conf/5.md), [rpc.statd(8)](/rpc.statd/8.md)

## STANDARDS

The implementation is based on the specification in “Protocols for X/Open PC Interworking: XNFS, Issue 4”, *X/Open CAE Specification C218*, ISBN 1 872630 66 9.

## HISTORY

A version of **rpc.lockd** appeared in SunOS 4.

## BUGS

The current implementation serialises locks requests that could be shared.
