The Apache distribution comes with a script to control the server called apachectl, installed into the same location as the httpd executable. For the sake of the examples, let's assume that it is in /home/httpd/httpd_perl/bin/apachectl.
All the operations that can be performed by using signals can also be performed on the server by using apachectl. You don't need to know the PID of the process, as apachectl will find this out for itself.
To start httpd_perl:
panic% /home/httpd/httpd_perl/bin/apachectl start
To stop httpd_perl:
panic% /home/httpd/httpd_perl/bin/apachectl stop
To restart httpd_perl (if it is running, send HUP; if it is not, just start it):
panic% /home/httpd/httpd_perl/bin/apachectl restart
Do a graceful restart by sending a USR1 signal, or start it if it's not running:
panic% /home/httpd/httpd_perl/bin/apachectl graceful
To perform a configuration test:
panic% /home/httpd/httpd_perl/bin/apachectl configtest
There are other options for apachectl. Use the help option to see them all.
panic% /home/httpd/httpd_perl/bin/apachectl help
It is important to remember that apachectl uses the PID file, which is specified by the PidFile directive in httpd.conf. If the PID file is deleted by hand while the server is running, or if the PidFile directive is missing or in error, apachectl will be unable to stop or restart the server.
Copyright © 2003 O'Reilly & Associates. All rights reserved.