1

Do the two different syntaxes do the same thing?

$ service apache2 restart

$ /etc/init.d/apache2 restart
1
  • As a side note, the whole "service foo restart" thing annoys me because I don't have tab completion.
    – cjc
    Dec 30, 2011 at 20:25

4 Answers 4

3

Yes. The backward compatible /etc/init.d/ scripts basically run service myservice start/stop/retstart instead of doing anything themselves.

3

Service is nothing more than a shell script.

cat /sbin/service

At that top you will see it sets the SERVICEDIR to /etc/init.d.

The service script has a few other options such as

--status-all
--full-restart

That loop over all services. But the name you pass to it is matched to the init.d script.

1

Yes.

To be precise:

service  runs  a  System  V  init script in as predictable environment as possible,
removing most environment variables and with current working directory set to /.

(from service(8))

1

In a way, yes. Actually upstart jobs will give a warning if started with /etc/init.d/ while service command always works both for sys v init scripts as well as upstart jobs.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .