
statd Command in Linux
When dealing with networked file systems, enforcing proper file locking and status tracking is necessary. The statd daemon in Linux deals with these operations, particularly in systems utilizing the use of the Network File System (NFS). It is tasked with monitoring file locks on networked devices to prevent access conflicts and ensure system stability.
Whereas most users of Linux know about file metadata check commands such as stat, statd is run in the background as a daemon and operates continuously, taking care of file locks and restoring them when needed.
Table of Contents
Here is a comprehensive guide to the options available with the statd command −
- Why is statd Command Important?
- Installing statd Command
- Syntax of statd Command
- Exploring Key Features of statd Command
- Examples of statd Command in Linux
Why is statd Command Important?
Suppose that several users are accessing the same shared file over a network. If a machine crashes or is rebooted, file locks can persist, and this can result in conflicts. The statd daemon prevents this from happening −
- File locks persist following system crashes.
- Lock information is restored on system reboot.
- Network file access is reliable without corruption risks.
- This is especially important in corporate environments where several servers communicate with a shared storage.
Installing statd Command
The statd service is part of the NFS utilities package, which enables file locking and status monitoring in networked environments. To install and enable statd, follow the steps based on your Linux distribution.
On Ubuntu / Debian −
sudo apt install nfs-common
On CentOS / RHEL −
sudo yum install nfs-utils
On Arch Linux −
sudo pacman -S nfs-utils
Syntax of statd Command
While statd isnât a standard command executed like ls or cat, it runs as a background service that can be managed using system tools.
rpc.statd [OPTIONS]
Or controlling it via system management commands −
sudo systemctl start rpc-statd
This ensures that the statd service is active and monitoring file locks.
Exploring Key Features of statd Command
The statd service provides several configuration options to control how it behaves −
Option | Description |
---|---|
-h, -?, --help | Displays a help screen with information about available options and usage instructions. |
-F, --foreground | Runs the statd daemon in the foreground instead of as a background service (no-daemon mode). |
-d, --no-syslog | Enables detailed logging (verbose mode) and prints logs to the terminal's standard error output. Works only in foreground mode. |
-p, --port | Specifies the port that statd listens on for incoming connections. |
-o, --outgoing-port | Defines the port used for outgoing connections initiated by statd. |
-V, -v, --version | Displays the version number of the statd service and exits. |
-n, --name | Allows you to set a specific local hostname for the service. |
-P | Specifies the path where statd stores its internal state information. |
-N | Activates "notify-only mode," where the daemon sends notifications without performing lock recovery. |
-L, --no-notify | Disables all notifications related to file lock or system events. |
-H | Lets you define a custom high-availability callout program for managing failover or recovery scenarios. |
Examples of statd Command in Linux
Listed below a few practical examples of statd command in Linux environment −
- Running statd in Foreground Mode
- Enabling Detailed Logging
- Customizing Listening Port
- Running in Notify-Only Mode
- Setting a Custom Outgoing Port
Running statd in Foreground Mode
If you want to observe statd behavior in real time, especially for debugging, run −
rpc.statd --foreground

Normally, statd runs in the background as a daemon, meaning its logs and activity aren't visible by default. Using the --foreground flag forces statd to stay active in the terminal, allowing you to see events as they happen, which is helpful for diagnosing issues.
Enabling Detailed Logging
To see detailed logs for troubleshooting issues with statd (only works in foreground mode) −
rpc.statd --foreground --no-syslog

This command combines foreground mode with --no-syslog, meaning log messages will be directly printed to the terminal instead of being sent to the system log. This is particularly useful when debugging issues related to file locking and NFS notifications.
Customizing Listening Port
If your network configuration requires statd to use a specific port (e.g., 5000) for incoming connections −
rpc.statd --port 5000

By default, statd listens on dynamically assigned ports. Using the --port flag forces statd to only accept connections on the specified port, which is crucial for configurations where firewall rules or security policies restrict random port usage.
Running in Notify-Only Mode
To configure statd to send only notifications without performing file lock recovery −
rpc.statd -N
This command disables the normal crash recovery process, meaning statd will notify remote systems but wonât attempt to restore file locks after a reboot. This can be useful when performance is a concern and lock recovery isnât required.
Note − Some systems have deprecated -N. Instead, use −
/usr/sbin/sm-notify

This is useful in scenarios where you want to reduce the impact of crash recovery on network performance.
Setting a Custom Outgoing Port
In some configurations, statd needs to use a specific port for outgoing connections to remote systems. To set an outgoing port −
rpc.statd --outgoing-port 6000

Normally, statd uses a random outgoing port for communicating with remote systems. Setting an explicit outgoing port is useful for environments with strict firewall rules that require predefined ports for outgoing traffic.
Specifying a Local Hostname
When working in a cluster or a distributed network, you may need to explicitly define a hostname for the statd daemon −
rpc.statd --name myserver.local

In environments with multiple servers, specifying a hostname ensures that statd correctly identifies itself when communicating over the network. This prevents issues where a system might register with an unexpected or generic hostname.
Conclusion
statd service is an essential software for file lock management and status monitoring in NFS-based Linux environments to offer conflict-free and seamless network sharing of files. Its ability to recover locks on crashes, prevent data corruption, and provide system stability makes it an essential package for enterprise and multi-user environments.
statd's flexibility to configure custom ports, notify-only, and verbose logging makes it appropriate for varying operational needs. Learning its capabilities helps system administrators attain reliability and efficiency in network file systems. Enhance your Linux skills using statd for effortless NFS operations.