みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Ubuntu Serverにて全サービスの状態を取得し制御する

Ubuntu Serverで実行しているはずのサービスが正常に実行されているかを調べるには,serviceコマンドを使用するのが便利です.service --status-all と実行します.

$ service --status-all
 [ + ]  acpid
 [ - ]  apparmor
 [ ? ]  apport
 [ + ]  atd
 [ ? ]  console-setup
 [ + ]  cron
 [ ? ]  cryptdisks
 [ ? ]  cryptdisks-early
 [ - ]  dbus
 [ ? ]  dns-clean
 [ + ]  friendly-recovery
 [ - ]  grub-common
 [ + ]  gunicorn
 [ ? ]  irqbalance
 [ ? ]  killprocs
 [ ? ]  kmod
 [ - ]  landscape-client
 [ ? ]  mysql
 [ ? ]  networking
 [ + ]  nginx
 [ ? ]  ondemand
 [ ? ]  open-vm-tools
 [ - ]  php5-fpm
 [ ? ]  pppd-dns
 [ - ]  procps
 [ ? ]  rc.local
 [ + ]  resolvconf
 [ - ]  rsync
 [ + ]  rsyslog
 [ ? ]  screen-cleanup
 [ ? ]  sendsigs
 [ - ]  ssh
 [ - ]  sudo
 [ - ]  udev
 [ ? ]  umountfs
 [ ? ]  umountnfs.sh
 [ ? ]  umountroot
 [ - ]  unattended-upgrades
 [ - ]  urandom
 [ - ]  x11-common

あるサービスを停止したい場合はstopオプションをつけます.gunicornというサービスを停止するには以下のようになります.

$ sudo service gunicorn stop
gunicorn stop/waiting

あるサービスを起動したい場合はstartオプションをつけます.

$ sudo service gunicorn start
gunicorn start/running, process 1871

あるサービスを再起動したい場合はrestartオプションをつけます.

$ sudo service gunicorn restart
gunicorn stop/waiting
gunicorn start/running, process 1850

そもそもUbuntuでのサービスは,Upstartを利用したものなので,/etc/init/xx.conf を適切に作成すれば簡単にサービスを作成することができます.詳細はubuntu cookbookに書いてあります.