One of the more common tasks that needs to be done on live servers is restarting services(such as Apache, mail, ftp, and DNS). A few of the reasons for services needing to be restarted can vary from the service crashing, the load on the server being too high, or a restart to make a configuration change take affect.
There are two different ways that can be used to interact with services in a Linux environment:
The first is to use the service command to issue commands to the service you wish to work with. For example: service httpd restart This will issue a restart command to Apache.
The second would be to directly interact with the init script on the server. An example of this would be, /etc/init.d/httpd restart This will issue a restart command to Apache.
As demonstrated above, both commands will result in the same action and since both commands will yield the same result, usage comes down to personal preference.
Each service typically at the least has stop, start, restart, and status usage flags. However, some services have other usage flags that can be used to determine more information about how the service is currently performing. One example of this would be the configtest usage flag for Apache. Using this flag it is possible to test the current configuration for any errors. Using this flag it is possible to verify any changes made to the Apache configuration will cause Apache not to start without having to restart Apache.
Below are some examples of various common services and their usage flags:
Apache
One of the primary reasons Apache may need to be restarted would be after changes have been made to the configuration file in order to optimize performance. More information on optimizing Apache is located here.
bash-2.05b# /etc/init.d/httpd
usage: /etc/init.d/httpd (start|stop|restart|fullstatus|status|graceful|configtest|help)
start - start httpd
startssl - start httpd with SSL enabled
stop - stop httpd
restart - restart httpd if running by sending a SIGHUP or start if not running
fullstatus - dump a full status screen; requires lynx and mod_status enabled
status - dump a short status screen; requires lynx and mod_status enabled
graceful - do a graceful restart by sending a SIGUSR1 or start if not running
configtest - do a configuration syntax test
help - this screen
On cPanel servers the default mail service is exim. Any configuration changes to exim will require a restart to take effect.
bash-2.05b# /etc/init.d/exim
Usage: exim {start|stop|restart|status}
On Plesk servers the default mail service is qmail. Any configuration changes to qmail will require a restart to take effect.
bash-2.05b# /etc/init.d/qmail
Usage: /etc/init.d/qmail {start|stop|status|reload|condrestart|restart}
SSH
Any change to the ssh configuration file(such as changing the SSH port) require a restart to take effect.
bash-2.05b# /etc/init.d/sshd
Usage: /etc/init.d/sshd {start|stop|restart|reload|condrestart|status}
FTP
On cPanel servers the default FTP program is pure-ftp. Any configuration changes to pure-ftp will require a restart to take effect.
bash-2.05b# /etc/init.d/pure-ftpd
Usage: pure-config.pl {start|stop|restart|condrestart|status}
MySql
bash-2.05b# /etc/init.d/mysql
Usage: /etc/init.d/mysql start|stop|restart|reload
Cron
On linux the cron service controls the scheduled tasks that run on the server.
bash-2.05b# /etc/init.d/crond
Usage: /etc/init.d/crond {start|stop|status|reload|restart|condrestart}
System Logging
The syslog service controls the system and kernel logging for the server.
bash-2.05b# /etc/init.d/syslog
Usage: /etc/init.d/syslog {start|stop|status|restart|condrestart}
*taken from http://www.liquidweb.com/kb/restarting-services-from-the-command-line/