"Apccontrol doing: `/usr/sbin/apcupsd --killpower` on UPS" without UPS connected

I hibernated this PC a few days ago (to move it to a new location) and left the terminal open before hibernating. When I reinitialized it,

Broadcast message from root@RQN6C6 (somewhere) (Mon Aug 21 23:28:44 2023):

Apccontrol doing: /usr/sbin/apcupsd --killpower on UPS

was in the terminal. I don’t have a UPS.

If you don’t have a UPC, then there is no reason for “apcupsd” to be installed.

I didn’t manually install it, so it must have been a dependency or in the install ISO. Regardless, any idea why posted a message to the system when the system hibernated?

Sorry, no, I don’t know why that happened.

1 Like

A look into the man pages of apcupsd shows why you get this message when you hibernate your system. So simply uninstall apcupsd when you don’t need it and the messages are gone…

I ran a find in Konsole - KDE Applications on

APCUPSD(8)                                                                                                                                  SUSE System Manager's Manual                                                                                                                                 APCUPSD(8)

     apcupsd — a daemon for controlling most APC UPSes

     apcupsd [-b] [-d level | --debug level] [-f file | --config-file file] [-P file | --pid-file file] [-p | --kill-on-powerfail | -t | --term-on-powerfail] [-R]

     apcupsd [-k | --killpower | --hibernate | -o | --power-off]

     apcupsd [-h | --help]

     apcupsd [-V | --version]

     The apcupsd daemon controls the operation of most American Power Conversion Corp (APC) UPSes.  During a power failure, apcupsd informs users about the loss of utility power and that a shutdown may occur.  If utility power is not restored, a system shutdown will follow when the battery is exhausted, a
     specified timeout expires, a specified battery charge percentage is reached, or a specified battery runtime (based on internal UPS calculations and determined by power consumption rates) expires.  If the utility power is restored before one of the these shutdown conditions is met, apcupsd will inform
     users of this and the shutdown will generally be cancelled.  Refer to the Implementation Notes section below for situations in which the shutdown may not be cancelled.

     The meaning of the command line options is as follows:

     -b          Run in the foreground, do not detach and become a daemon.

     -d level --debug level
                 Set debugging output level where level is a number greater than zero.

     -f file --config-file file
                 Load the specified configuration file.  The default configuration file is /etc/apcupsd/apcupsd.conf.  It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

     -k | --killpower | --hibernate
                 Power down the UPS in hibernate mode after a 10 second delay. This option is normally only used by apcupsd itself to power down the UPS after a system shutdown has almost completed.  In hibernate mode, the UPS will again supply power to the system when the utility power returns.

     -o | --power-off
                 Power down UPS completely. The UPS will not supply power to the system when the utility power returns.

     -P file --pid-file file
                 Create the specified process ID file. The default is /var/run/apcupsd.pid.  It must be changed when running more than one copy of apcupsd on the same computer to control multiple UPSes.

     -p --kill-on-powerfail
                 apcupsd commands the UPS to power down in hibernate mode just before apcupsd starts the system shutdown. This relies on the grace shutdown delay of a Smart-UPS being long enough to allow the system to shutdown completely before the UPS shuts off the power to the system and goes into hiber-
                 nate mode. This shutdown grace delay is a programmable value stored in a Smart-UPS EEPROM which can be changed using apctest(8).  In hibernate mode, the UPS will again supply power to the system when the utility power returns. Refer to apcupsd.conf(5) for an alternative method using the
                 KILLDELAY configuration directive and the only method available when using a Back-UPS or other UPS operating in simple signalling mode.

     -t --term-on-powerfail
                 apcupsd exits immediately when it issues the system shutdown command.  This behaviour is useful for those systems where it is not possible to insert apcupsd commands in a halt script to issue the killpower command.  Without this option, apcupsd will wait for the SIGTERM signal from the
                 system shutdown process before exiting.

     -R          Put a UPS which runs in smart signalling mode by default (eg a Smart-UPS) into simple signalling mode.

     -v --version
                 Prints the apcupsd version number and the program help.

     -h --help   Prints the program help.

     The apcupsd daemon supports a networking mode called Network Information Server  (NIS) -- not related  to Sun's NIS/YP -- in which the daemon serves status and event information to clients over a network. See the "Running The Network Information Server" section of the apcupsd manual for more informa-
     tion and configuration details on this mode.

     The apcupsd daemon also supports a Smart-UPS in SNMP mode provided an APC Web/SNMP or APC PowerNet SNMP card is installed in the UPS's SmartSlot.  For more information and configuration details on this mode, refer to the "Support for SNMP UPSes" section of the apcupsd manual.

     The shutdown is made by calls to the script /etc/apcupsd/apccontrol by the apcupsd daemon.  Consequently, no changes to /etc/inittab are necessary on Linux as there is no communication between the daemon and the init(1) process.  Installation of the daemon modifies the halt script so that at the end
     of the shutdown process, the daemon will be re-executed to power off the UPS in hibernate mode.

     On some operating systems (eg FreeBSD) there is no halt script so apccontrol must be modified to cause the daemon to power off the UPS after a delay.  Alternatives are to use the --kill-on-powerfail command on the apcupsd command line or refer to apcupsd.conf(5) for details of the KILLDELAY configura-
     tion directive.

     It will almost certainly be necessary to customise the configuration information in the /etc/apcupsd/apcupsd.conf configuration file to suit your configuration and desired UPS behaviour.

     For information on the configuration directives and the format of the configuration file, refer to apcupsd.conf(5).

     apcupsd generates events when certain conditions occur.  These events are sent to the system log and, optionally, to the temporary events file (/var/log/apcupsd.events).  They also generate a call to  the /etc/apcupsd/apccontrol script which in turn will call any custom scripts placed in the
     /etc/apcupsd directory which may override apccontrol's default behaviour. For details of the events and customising apccontrol's behaviour, refer to apccontrol(8).

     If the DATATIME configuration directive is set to non-zero, apcupsd will log a data record at the interval defined by the DATATIME directive. This data record is in a format similar to the APC PowerChute software data file format.

     The status report output format is simple ASCII. Generally there is a single piece of information on each line of output. The content varies based on the model of UPS being used and, in some cases, the firmware version. This status report is also optionally written the the /etc/apcupsd/apcupsd.status
     file. Refer to apcaccess(8) for full details of the status report output.

     /etc/apcupsd/apcupsd.conf default configuration file

     /var/run/apcupsd.pid default process ID file

     /var/log/apcupsd.status optional status file

     /var/log/apcupsd.events default events file

     apcupsd.conf(5), apcaccess(8), apccontrol(8), apctest(8).

     The HTML apcupsd manual installed on your system or available online at http://www.apcupsd.org/

   This page
     Trevor Roydhouse (current)
     Andre M. Hedrick
     Christopher J. Reimer

     Adam Kropelin (current Project Manager and Code Maintainer)
     Kern Sibbald (former Project Manager and Code Maintainer)
     Riccardo Facchetti (former Project Manager and Code Maintainer)
     Andre M. Hedrick (Project Founder and former Code Maintainer)

     An enormous number of users who have devoted their time and energy to this project -- thanks.

apcupsd v3.14.6

and read some things which certainly seemed relevant

but didn’t locate anything which I could surmise to be the cause.

@hui, what do you believe it to be?

What is your actual question? Maybe i didn’t get it.

  • you have apcupsd installed
  • the apcupsd deamon issues a --killpower to the UPS when the host is hibernated

This is normal behaviour when this package is installed.

So if you don’t have an UPS and you don’t need this package, simply uninstall it. Then this apcupsd deamon commands will no longer show up.

1 Like

“Hibernate mode” in manual page refers to UPS, not to host system. Quoting manual page:

In hibernate mode, the UPS will again supply power to the system when the utility power returns.

apcupsd package installs systemd sleep script /usr/lib/systemd/system-sleep/apcupsd.sh which unconditionally calls apcupsd with this option. Even if one has UPS it is highly questionable whether one always wants to unconditionally power off UPS in this case thus cutting power to everything connected to this UPS. And if yes, why it happens when hibernating host but does not happen when shutting down the same host.

… OK, seems that apcupsd --killpower will only power down UPS if there is power failure (or, more precisely, if apcupsd daemon previously indicated power failure). Which now makes more sense (although some users may still want to leave UPS running for as long as possible).

That seems like the answer, although I can’t mark it as such. Do you know whether this package is part of the default installation? I’m going to keep it because I will eventually have a UPS, but if it’s not installed by default, I can’t imagine what would have installed it as a dependency.

Actually, as apcupsd --killpower does nothing unless there is power failure indication, I would say sleep script should do the same as shutdown script - only call apcupsd --killpower if there is indication of power failure. You may consider bug report; even better would be fixing it and submitting request.

1 Like

Check apcupsd-users Mailing List for Apcupsd UPS control software sometime soon.

The .eml file is available at forums.opensuse.org/t/168626/11 ($2589459) · Snippets · GitLab.