I am not familiar with RHEL 7, but ‘kill’ is pretty much the equivalent of sending a SHUTDOWN command via ‘lcmd’ and should get rid of all worker processes once they complete their current transaction. You should see a SHUTDOWN command in the log from [log in to unmask] If you somehow end up doing ‘kill -9’ instead, the workers will remain until they exit due to not finding the main process when they need to signal it, which could take a while, possibly forever. I would check the log to see what happens when the ‘kill’ is issued, as well as trying it from the command line.

 

  Eric

 

From: LISTSERV Site Administrators' Forum [mailto:[log in to unmask]] On Behalf Of Scott Kraczek
Sent: Thursday, September 22, 2016 17:22
To: [log in to unmask]
Subject: systemd registration of listserv on modern Linux

 

Howdy,

 

I tried dropping the L-Soft provided sysV script into /etc/init.d on my new RHEL7 listserv server, but found that stopping the service under systemd failed to kill all the  ./lsv processes like it used to on RHEL5, leaving two ./lsv zombies to get in the way of maintenance operations. In general, killing the main Listserv PID as recommended by L-Soft just doesn’t seem to kill Listserv anymore:

 

kill `cat $LSVHOME/spool/listserv.PID`

 

 

Since I couldn’t find a reliable method to kill listserv all the way from the PID, I tried using the lcmd  tool to issue a clean SHUTDOWN command to listserv. I couldn’t convince listserv that root was authorized to run commands without making root@hostname a quiet, hidden Admin. Eventually I was able to convince lcmd to shutdown listserv, but I’m not sure if this is the best way.

 

Since I was re-writing the init script, I figured I might as well learn systemd. I came up with the following systemd unit file, (which relies on root@hostname to be a Listserv admin):

 

[Unit]

Description=Listserv mailing lists by LSoft

After=network.target postfix.service

 

[Service]

PIDFile=/home/listserv/spool/listserv.PID

ExecStart=/home/listserv/go bg

ExecReload=/home/listserv/go bg

KillMode=process

Restart=on-failure

RestartSec=42s

ExecStop=/usr/local/bin/lcmd  SHUTDOWN

 

[Install]

WantedBy=multi-user.target

 

 

Anyone have a better, more reliable way to register Listserv under systemd?

 

Scott K

IT Engineer, BYU

 

 


To unsubscribe from the LSTSRV-L list, click the following link:
http://peach.ease.lsoft.com/scripts/wa-PEACH.exe?SUBED1=LSTSRV-L&A=1



To unsubscribe from the LSTSRV-L list, click the following link:
http://peach.ease.lsoft.com/scripts/wa-PEACH.exe?SUBED1=LSTSRV-L&A=1