CentOS7からSystemdが採用されて、これまでやってた操作はCentOS7でどうするんだと悩むことが多いのでまとめ。
操作 | 〜CentOS6 | CentOS7 |
---|---|---|
起動 | /etc/rc.d/init.d/[ServiceName] start / service [ServiceName] start | systemctl start [ServiceName].service |
終了 | /etc/rc.d/init.d/[ServiceName] stop / service [ServiceName] stop | systemctl stop [ServiceName].service |
再起動 | /etc/rc.d/init.d/[ServiceName] restart / service [ServiceName] restart | systemctl restart [ServiceName].service |
設定反映 | /etc/rc.d/init.d/[ServiceName] reload / service [ServiceName] reload | systemctl reload [ServiceName].service |
状態取得 | /etc/rc.d/init.d/[ServiceName] status / service [ServiceName] status | systemctl status [ServiceName].service |
自動起動を有効化 | chkconfig [ServiceName] on | systemctl enable [ServiceName].service |
自動起動を無効化 | chkconfig [ServiceName] off | systemctl disable [ServiceName].service |
自動起動の状態確認 | chkconfig --list [ServiceName] | systemctl is-enabled [ServiceName].service |
サービスの一覧表示 | ls -l /etc/rc.d/init.d | systemctl --type service |
その他便利になったこと
ログを見る
CentOS6までは/var/logあたりをあさっていたけど、CentOS7からはjournalctlコマンドを叩けば見れる。
journalctl -u [ServiceName].service
tail -f
っぽくすることもかのうで、上記のコマンドに-f
を足してやればいい。
journalctl -f -u [ServiceName].service
強制終了
CentOS6まではkillコマンド叩いていたけど、CentOS7からはコマンドが用意されている。
これまではps
でPID確認してからkillコマンド発行、という流れだったけど少し便利。
systemctl kill -s 9 [ServiceName].service