Man Linux: Main Page and Category List


       acpid - Advanced Configuration and Power Interface event daemon


       acpid [options]


       acpid  is designed to notify user-space programs of ACPI events.  acpid
       should be started during the system boot, and will run as a  background
       process,  by default.  It will open an events file (/proc/acpi/event by
       default) and attempt to read whole lines which represent  ACPI  events.
       If the events file does not exist, acpid will attempt to connect to the
       Linux kernel via the input layer and netlink.  When an  ACPI  event  is
       received from one of these sources, acpid will examine a list of rules,
       and execute the rules that match  the  event.  acpid  will  ignore  all
       incoming  ACPI  events  if  a  lock  file  exists  (/var/lock/acpid  by

       Rules are defined by simple configuration files.  acpid will look in  a
       configuration  directory  (/etc/acpi/events  by default), and parse all
       regular files that do not begin with a period (’.’) or end with a tilde
       (~).   Each  file  must define two things: an event and an action.  Any
       blank lines, or lines where the first character is  a  hash  (’#’)  are
       ignored.   Extraneous lines are flagged as warnings, but are not fatal.
       Each line has three tokens: the key, a  literal  equal  sign,  and  the
       value.   The  key  can  be up to 63 characters, and is case-insensitive
       (but whitespace matters).  The value can be up to 511  characters,  and
       is case and whitespace sensitive.

       The event value is a regular expression (see regcomp(3)), against which
       events are matched.

       The action value is a commandline, which will be  invoked  via  /bin/sh
       whenever   an   event  matching  the  rule  in  question  occurs.   The
       commandline may include shell-special  characters,  and  they  will  be
       preserved.   The  only  special  characters  in an action value are "%"
       escaped.  The string "%e" will be replaced by the literal text  of  the
       event  for  which  the  action  was  invoked.   This string may contain
       spaces, so the commandline must take care to quote the "%e" if it wants
       a  single  token.   The  string "%%" will be replaced by a literal "%".
       All other "%" escapes are reserved, and will cause a rule to not  load.

       This  feature  allows  multiple  rules to be defined for the same event
       (though no ordering is guaranteed), as well as one rule to  be  defined
       for  multiple events.  To force acpid to reload the rule configuration,
       send it a SIGHUP.

       In addition to rule files, acpid also accepts  connections  on  a  UNIX
       domain  socket (/var/run/acpid.socket by default).  Any application may
       connect to this socket.  Once connected, acpid will send  the  text  of
       all  ACPI  events  to the client.  The client has the responsibility of
       filtering for messages about which it cares.  acpid will not close  the
       client socket except in the case of a SIGHUP or acpid exiting.

       acpid  will log all of its activities, as well as the stdout and stderr
       of any actions, to syslog.

       All the default files and directories can be changed  with  commandline


       -c, --confdir directory
                   This  option changes the directory in which acpid looks for
                   rule configuration files.  Default is /etc/acpi/events.

       -C, --clientmax number
                   This option changes the maximum number of  non-root  socket
                   connections which can be made to the acpid socket.  Default
                   is 256.

       -d, --debug This option increases the acpid debug level by one.  If the
                   debug  level is non-zero, acpid will run in the foreground,
                   and will log to stderr, in addition to the regular  syslog.

       -e, --eventfile filename
                   This  option  changes the event file from which acpid reads
                   events.  Default is /proc/acpi/event.

       -n, --netlink
                   This option forces acpid to  use  the  Linux  kernel  input
                   layer and netlink interface for ACPI events.

       -f, --foreground
                   This option keeps acpid in the foreground by not forking at

       -l, --logevents
                   This option tells acpid to log information about all events
                   and actions.

       -L, --lockfile filename
                   This  option  changes  the  lock  file  used  to stop event
                   processing.  Default is /var/lock/acpid.

       -g, --socketgroup groupname
                   This option changes the group ownership of the UNIX  domain
                   socket to which acpid publishes events.

       -m, --socketmode mode
                   This  option  changes  the  permissions  of the UNIX domain
                   socket to which acpid publishes events.  Default is 0666.

       -s, --socketfile filename
                   This option changes the name  of  the  UNIX  domain  socket
                   which acpid opens.  Default is /var/run/acpid.socket.

       -S, --nosocket filename
                   This  option  tells acpid not to open a UNIX domain socket.
                   This overrides the -s option, and negates all other  socket

       -p, --pidfile filename
                   This  option  tells  acpid to use the specified file as its
                   pidfile.  If the file exists, it will be removed and  over-
                   written.  Default is /var/run/

       -v, --version
                   Print version information and exit.

       -h, --help  Show help and exit.


       This  example  - placed in /etc/acpi/events/power - will shut down your
       system if you press the power button.

       action=/usr/local/sbin/ "%e"

       The script gets called and will see the complete event  string
       as parameter $1.


       acpid should work on any linux kernel released since 2003.




       There are no known bugs.  To file bug reports, see AUTHORS below.


       regcomp(3), sh(1), socket(2), connect(2)


       Tim Hockin <>