FreeBSDにおいて、各種サーバソフトウェアの起動・停止を行う起動スクリプトは/etc/rc.d、/usr/local/etc/rc.dに格納されている。



いちいち/usr/local/etc/rc.d/apache22 startなどとキーを叩くのは面倒で仕方がない。



そこでportsにあるbsdadminscriptsなどを使っていたのだが、ふと気が付くと7.3あたりからserviceというコマンドが作られたようだ。



使い方。



書式。
   service <起動スクリプト> start|stop|restart等々
使用例
$ sudo service dovecot status
Password:
dovecot is running as pid 1026.
$ sudo service dovecot restart
Stopping dovecot.
Waiting for PIDS: 1026.
Starting dovecot.
注意点としては、引数で与えるのはあくまでも起動スクリプト名であって、サーバソフトウェアの名前ではない、という点。



例えば、dhcpdだとisc-dhcpdで指定しないといけないが、それを思い出せないこともしばしば。



だから後述の使用法も使って、起動スクリプト名を調べるとよい。






そのほかの使い方:起動スクリプトに関する情報が得られる。
service -e
 有効になっているサービスを表示する。
 起動順(rcorder)に表示
service -r
 無効になっているものも含めてサービスを表示する。
 起動順(rcorder)に表示。
 もちろん無効になっているものは、もしも有効だったら
 という仮定で。
service -l
 rc.dディレクトリの下にあるファイルをすべてリストする。
 /etc/rc.dのほか、たとえば/usr/local/etc/rc.dなど。
-v
 ほんの少しだけ説明が増える。
 (試してみたら本当に少しだけだった)
例えば。-rだと、-eのときにはない起動スクリプトも表示されていることが分かる。
$ service -e|grep &#34;/usr/local&#34;
/usr/local/etc/rc.d/mrtg_daemon
/usr/local/etc/rc.d/jenkins
/usr/local/etc/rc.d/dovecot
/usr/local/etc/rc.d/clamav-clamd
/usr/local/etc/rc.d/clamav-freshclam
/usr/local/etc/rc.d/apache22
$ service -r|grep &#34;/usr/local&#34;
/usr/local/etc/rc.d/svnserve
/usr/local/etc/rc.d/rsyncd
/usr/local/etc/rc.d/rrdcached
/usr/local/etc/rc.d/munin-node
/usr/local/etc/rc.d/mrtg_daemon
/usr/local/etc/rc.d/jenkins
/usr/local/etc/rc.d/htcacheclean
/usr/local/etc/rc.d/dovecot
/usr/local/etc/rc.d/clamav-clamd
/usr/local/etc/rc.d/clamav-freshclam
/usr/local/etc/rc.d/apache22