The acpid daemon provides intelligent power management on a system and allows to query battery and configuration status by supporting the Advanced Configuration and Power Interface (ACPI). The ACPI events are notified to the user-space programs by acpid.
The ACPI (Advanced Configuration and Power Interface) specification allows the operating system to control the amount of power it provides to each device or peripheral attached to the system. This makes the operating system to turn off specific devices when they are no longer in use such as the monitor, providing stable and efficient power management.
acpid being a daemon runs as a background process by default and it should start during the system boot. Whenever an event occurs it executes programs to handle the event. It does so as it opens an events file (/proc/acpi/event by default) and reads all the lines. When a line is received (an event), it examines a list of rules to execute the one that matches the event. If there is a lock file (/var/lock/acpid by default) it ignores all incoming ACPI events.
Simple configuration files are used to define the rules. It looks in a configuration directory (/etc/acpi/events by default) and all the files that do not begin with a period (‘.’) or end with a tilde (~) are parsed. Each file must define an event and a corresponding action. Blank lines or lines with the first character as hash (‘#’) are ignored.
There are three tokens in each line: the key, a literal equal sign and the value.
- The key can take up to 63 characters, is case-insensitive but whitespaces matters.
- The value can take up to 511 characters, it is case and whitespace sensitive. The event value consists of a regular expression and events are matched against it.
sudo apt-get install acpid
- c, –confdir directory
Changes the directory that acpid looks for rule configuration files. The default directory is /etc/acpi/events.
- C, –clientmax number
Changes the maximum number of non-root socket connections that can be made to the acpid socket. The default is 256.
- d, –debug
Increases the acpid debug level by one. It runs in the foreground if the debug level is non-zero and logs to stderr and to the regular syslog.
- e, –eventfile filename
Changes the event file. Acpid reads events from it. The default file is /proc/acpi/event.
- f, –foreground
Keeps acpid in the foreground by not forking at startup.
- l, –logevents
Tells acpid to log information related to all the events and actions.
- L, –lockfile filename
Changes the lock file that is used to stop event processing. The default file is /var/lock/acpid.
- g, –socketgroup groupname
Changes the group ownership of domain socket. Acpid publishes events to it.
- m, –socketmode mode
Changes the permissions of the UNIX domain socket. Default is 0666.
- s, –socketfile filename
Changes the name of the UNIX domain socket that is opened by acpid. The default is /var/run/acpid.socket.
- S, –nosocket filename
Tells acpid to not open a UNIX domain socket. This overrides the -s option, it also negates all other socket options.
- p, –pidfile filename
Tells acpid to use the specified file as its pidfile. If the file exists, it will be removed and over-written. The default is /var/run/acpid.pid.
- v, –version
Prints the version information and exits.
- h, –help
Shows help and exits.
- Use the service utility for controlling the acpid service:
- To Start the service:
service acpid start
You will be prompted for authentication.
- To Stop the service:
service acpid stop
You will be prompted for authentication.
- Check if the serivce is started or stopped:
service acpid status
- cmp Command in Linux with examples
- dc command in Linux with examples
- atd command in Linux with examples
- for command in Linux with Examples
- last command in Linux with Examples
- cp command in Linux with examples
- scp command in Linux with Examples
- id command in Linux with examples
- cut command in Linux with examples
- look command in Linux with Examples
- cpp command in Linux with Examples
- gdb command in Linux with examples
- tee command in Linux with examples
- env command in Linux with Examples
- arp command in Linux with examples
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.