2

I have deployment (capistrano) that, on success, reloads systemd:

sudo systemctl reload myserver.service

But, just after the first deploy, the service is not yet running. In that case, I want to start it, instead.

sudo systemctl start myserver.service

Is there a flag or other trick in systemd that figures out: "is the service running, then reload, otherwise, start it"? The alternative would be to build this into the deployment tooling itself, but I'd rather use existing features if systemd provides these.

1 Answer 1

6

You probably mixed something up. The command to reload or start a systemd service is systemctl.
You can try

sudo systemctl reload-or-restart myserver.service

That should do what You asked for.

1
  • Sorry about the confusion: I have systemctl aliased to systemd. Because I keep mixing up systemctl with sysctl. But it seems the reload-or-restart does what I want it to do. Commented Oct 20, 2019 at 16:41

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.