[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: how to make systemd execute init.d script status statements?



Darac Marjal writes:

> On the face of it, this *should* still work. When you invoke 
> "/etc/init.d/example status", you're running the shell script directly - 
> that is, without any reference to systemd. Now, I don't remember the 
> details, but I seem to recall there being a command (which a skeleton 
> shell script might import from somewhere) that says "Is systemd running?  
> In which case pass the argument to that", but without seeing the 
> contents of your script I can't say if it's doing that.
> 
> Try adding "set -x" at the top of your script to help with debugging
> it?

Thanks for your reply.  I added 'set -x' at the top of the script and
got lots of debug lines starting with +.  the relevant ones seem to be
these:

...
+++ local command=status
+++ case "$command" in
+++ service=sip-proxy.service
++++ systemctl -p LoadState show sip-proxy.service
+++ state=LoadState=loaded
+++ '[' LoadState=loaded = LoadState=masked ']'
+++ '[' status = status ']'
+++ /bin/systemctl status sip-proxy.service
...

That is, instead of the statements in /etc/init.d/sip-proxy status), it
runs 'bin/systemctl status sip-proxy.service'

The question is, is there any means to prevent systemd from highjacking 
my status statements?

-- Juha


Reply to: