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等々
使用例
1 2 3 4 5 6 7 8 9 |
$ 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で指定しないといけないが、それを思い出せないこともしばしば。
だから後述の使用法も使って、起動スクリプト名を調べるとよい。
そのほかの使い方:起動スクリプトに関する情報が得られる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
service -e 有効になっているサービスを表示する。 起動順(rcorder)に表示 service -r 無効になっているものも含めてサービスを表示する。 起動順(rcorder)に表示。 もちろん無効になっているものは、もしも有効だったら という仮定で。 service -l rc.dディレクトリの下にあるファイルをすべてリストする。 /etc/rc.dのほか、たとえば/usr/local/etc/rc.dなど。 -v ほんの少しだけ説明が増える。 (試してみたら本当に少しだけだった) |
例えば。-rだと、-eのときにはない起動スクリプトも表示されていることが分かる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$ 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 |