起動スクリプト操作コマンドservice(Linuxのchkconfigの簡易版)
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 "/usr/local" /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 "/usr/local" /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