[systemd-devel] WorkingDirectory in service file

Christian Hesse list at eworm.de
Thu Nov 24 12:55:38 PST 2011


Colin Guthrie <gmane at colin.guthr.ie> on Thu, 24 Nov 2011 20:51:19 +0000:
> 'Twas brillig, and Christian Hesse at 23/11/11 20:07 did gyre and gimble:
> > Christian Hesse <list at eworm.de> on Tue, 22 Nov 2011 14:44:01 +0100:
> >> [...]
> >> Looks like WorkingDirectory is ignored and the real working directory
> >> is / as I have to call scripts within the configuration with absolute
> >> paths. pwd run inside a script gives "/".
> >> Everything works as expected (with relative paths) when launching
> >> openvpn from /etc/openvpn manually. Any hints what goes wrong?
> > 
> > Ok, solved this...
> > systemd works as expected but openvpn does a chdir("/") when forking to
> > background. In respect to daemon(3) this seems to be the expected
> > behavior.
> 
> 
> One "solution" here might be to not call --daemon NAME, but instead call
> --syslog NAME and set Type=simple in the systemd unit.
> 
> This should keep openvpn in the foreground and use systemd's
> backgounding and hopefully the WorkingDirectory thing will work.
> 
> Not sure if you really need this, or if it was more of a random query..

It works as it is now. The one drawback is that I have to give absolut paths
to the up and route-up scripts.
I think it's ok now that I know the reason. ;)
-- 
Schoene Gruesse
Chris


More information about the systemd-devel mailing list