Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Do the two different syntaxes do the same thing?

$ service apache2 restart

$ /etc/init.d/apache2 restart
share|improve this question
    
As a side note, the whole "service foo restart" thing annoys me because I don't have tab completion. –  cjc Dec 30 '11 at 20:25
add comment

4 Answers

up vote 3 down vote accepted

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

share|improve this answer
add comment

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.

share|improve this answer
add comment

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))

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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