I'm trying to launch a perl service using systemd.

The perl script is 'smtpprox'
(https://github.com/jnorell/smtpprox/blob/master/smtpprox)

The unit file I created is

        cat /etc/systemd/system/smtpprox.service
                [Unit]
                Description=smtpprox
                Requires=var-run.mount
                After=var-run.mount

                [Service]
                Type=oneshot
                KeepAfterExit=true
                PrivateTmp=false
                ExecStart=/usr/local/etc/postfix/filters/smtpprox
                127.0.0.1:10025 127.0.0.1:10026
                ExecStop=kill `pidof perl`

                [Install]
                WantedBy=multi-user.target

When I exec

        systemctl daemon-reload
        systemctl start smtpprox.service

It does start the service

        ps ax | grep smtpprox
                10835 pts/2    S+     0:00 systemctl start
                smtpprox-custom.service
                10837 ?        Ss     0:00 /usr/bin/perl -w
                /usr/local/etc/postfix/filters/smtpprox --children=4
                127.0.0.1:10025 127.0.0.1:10026
                10838 ?        S      0:00 /usr/bin/perl -w
                /usr/local/etc/postfix/filters/smtpprox --children=4
                127.0.0.1:10025 127.0.0.1:10026
                10839 ?        S      0:00 /usr/bin/perl -w
                /usr/local/etc/postfix/filters/smtpprox --children=4
                127.0.0.1:10025 127.0.0.1:10026
                10840 ?        S      0:00 /usr/bin/perl -w
                /usr/local/etc/postfix/filters/smtpprox --children=4
                127.0.0.1:10025 127.0.0.1:10026
                10841 ?        S      0:00 /usr/bin/perl -w
                /usr/local/etc/postfix/filters/smtpprox --children=4
                127.0.0.1:10025 127.0.0.1:10026

but never exits/releases at shell

        systemctl start smtpprox-custom.service
                ( ... just sits here ... )

How do I get the unit to exec that script, leave the script running, and
exit the properly?

Also,  the 

        ExecStop=kill `pidof perl`

works, but kills ALL running perl scripts/jobs -- not just the smtpprox
parent/children.

What's the right way to get systemd to find/kill only the pids related
to smtpprox?

JenL
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to