I am trying to convert one of my init scripts to systemd but to no avail.

Description=My Service

ExecStart=nohup /usr/local/bin/php -f /home/user/www/myservice.php > /dev/null 2>&1


The output:

root@localserver [/etc/systemd/system]# service myservice restart
Redirecting to /bin/systemctl restart  myservice.service
Failed to restart myservice.service: Unit myservice.service failed to load: Invalid argument. See system logs and 'systemctl status myservice.service' for details.
root@localserver [/etc/systemd/system]# service myservice status
Redirecting to /bin/systemctl status  myservice.service
â myservice.service - My Service
   Loaded: error (Reason: Invalid argument)
   Active: activating (start) since Tue 2016-04-12 12:48:18 BST; 1min 9s ago
 Main PID: 22892 (php)
   CGroup: /system.slice/myservice.service
           ââ22892 /usr/local/bin/php -f /home/user/www/myservice.php

Apr 12 12:48:18 localserver systemd[1]: Starting My Service...
Apr 12 12:48:27 localserver systemd[1]: [/etc/systemd/system/myservice.service:9] Executable path is not absolute, ignoring: nohup /usr/local/bin/php -f /home/user/www/myservice.php > /dev/null 2>&1
Apr 12 12:48:27 localserver systemd[1]: myservice.service lacks both ExecStart= and ExecStop= setting. Refusing.
root@localserver [/etc/systemd/system]#

Any idea why it is not working?

  • Are you sure you need to nohup your service when run under sytemd? – Eric Renouf Apr 12 '16 at 14:21

systemd needs an absolute path:

ExecStart=/usr/bin/nohup /usr/local/bin/php -f /home/user/www/myservice.php > /dev/null 2>&1
| improve this answer | |
  • It actually had one, ironically. The presence of nohup is wrong. So is the attempt at redirection using shell syntax. – JdeBP Jun 15 '16 at 18:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.