[systemd-devel] systemd and smartd daemon

Al Lau lauatic at gmail.com
Thu Apr 2 11:28:46 PDT 2015


The main process does not show up in the ps and only the forked process
shows up.

The systemd-cgls shows

│   ├─session-14613.scope
│   │ ├─ 1577 sshd: root at pts/4
│   │ ├─ 1676 -bash
│   │ ├─16792 systemctl start smartd
│   │ └─16793 /usr/bin/systemd-tty-ask-password-agent --watch


└─system.slice
  ├─smartd.service
  │ └─16800 /usr/sbin/smartd --interval=3600 --configfile=/etc/smartd.conf

I think the PIDFile is optional.  Commenting out the PIDfile line does not
help.

What else can I try?

Thanks,
-Al

On Thu, Apr 2, 2015 at 10:57 AM, Andrei Borzenkov <arvidjaar at gmail.com>
wrote:

> В Thu, 2 Apr 2015 10:43:00 -0700
> Al Lau <lauatic at gmail.com> пишет:
>
> > Hi,
> >
> > I am seeking help and advise on troubleshooting the starting of the
> smartd
> > daemon.  The /usr/sbin/smartd comes from the smartmontools version 6.3.
> >
> > The /usr/lib/systemd/system/smartd.service file looks like this
> >
> > # cat /usr/lib/systemd/system/smartd.service
> > [Unit]
> > Description=Self Monitoring and Reporting Technology (SMART) Daemon
> > Documentation=man:smartd(8) man:smartd.conf(5)
> > After=syslog.target
> >
> > [Service]
> > Type=forking
> > PIDFile=/run/smartd.pid
> > ExecStartPre=/bin/rm -f /run/smartd.pid
> > EnvironmentFile=/etc/sysconfig/smartmontools
> > ExecStart=/usr/sbin/smartd $smartd_opts
> > ExecReload=/bin/kill -HUP $MAINPID
> > StandardOutput=syslog
> >
> > [Install]
> > WantedBy=multi-user.target
> >
> > When "systemctl start smartd.service" is called, the process forks into a
> > daemon.  The problem I'm seeing is that the forked process received a
> > SIGTERM signal and exited.  How do I resolve this so that the forked
> > process would not get terminated.
> >
> > # systemctl status smartd.service
> > smartd.service - Self Monitoring and Reporting Technology (SMART) Daemon
> >    Loaded: loaded (/usr/lib/systemd/system/smartd.service; enabled)
> >    Active: failed (Result: timeout) since Thu 2015-04-02 17:19:49 GMT;
> 4min
> > 39s ago
> >      Docs: man:smartd(8)
> >            man:smartd.conf(5)
> >   Process: 7456 ExecStart=/usr/sbin/smartd $smartd_opts (code=exited,
> > status=0/SUCCESS)
> >   Process: 7454 ExecStartPre=/bin/rm -f /run/smartd.pid (code=exited,
> > status=0/SUCCESS)
> >  Main PID: 1075 (code=exited, status=0/SUCCESS)
> >
> > Apr 02 17:18:20 007 smartd[7456]: Device: /dev/bus/0 [megaraid_disk_19],
> > opened
> > Apr 02 17:18:20 007 smartd[7456]: Device: /dev/bus/0 [megaraid_disk_19],
> > [TOSHIBA  MG03SCA300       5702], lu ....00 TB
> > Apr 02 17:18:20 007 smartd[7456]: Device: /dev/bus/0 [megaraid_disk_19],
> is
> > SMART capable. Adding to "monitor" list.
> > Apr 02 17:18:20 007 smartd[7456]: Monitoring 0 ATA and 12 SCSI devices
> > Apr 02 17:18:21 007 systemd[1]: PID file /run/smartd.pid not readable
> > (yet?) after start.
> > Apr 02 17:18:21 007 smartd[7463]: smartd has fork()ed into background
> mode.
> > New PID=7463.
> > Apr 02 17:19:49 007 systemd[1]: smartd.service operation timed out.
> > Terminating.
>
> There are to possibilities
>
> - smartd main process does not exit after fork. Check with systemd-cgls
>   immediately after systemctl start.
> - PID file is not created with path systemd expects
>
> > Apr 02 17:19:49 007 smartd[7463]: smartd received signal 15: Terminated
> > Apr 02 17:19:49 007 systemd[1]: Failed to start Self Monitoring and
> > Reporting Technology (SMART) Daemon.
> > Apr 02 17:19:49 007 systemd[1]: Unit smartd.service entered failed state.
> > Hint: Some lines were ellipsized, use -l to show in full.
> > #
> >
> > To verify, I take the "/usr/sbin/smartd $smartd_opts" and run it from the
> > command line.  The smartd daemon forks and the daemon process stays up as
> > expected.
> >
> > Thanks,
> > -Al
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150402/4437bdef/attachment.html>


More information about the systemd-devel mailing list