78 行
2.1 KiB
Bash
実行ファイル
78 行
2.1 KiB
Bash
実行ファイル
#!/bin/sh -e
|
|
#
|
|
# services: show what services are running on this server (configurable)
|
|
#
|
|
# Copyright (C) 2009 Canonical Ltd.
|
|
# Copyright (C) 2011-2014 Dustin Kirkland
|
|
#
|
|
# Authors: Dustin Kirkland <kirkland@byobu.org>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, version 3 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
__services_detail() {
|
|
return
|
|
}
|
|
|
|
service_running() {
|
|
if [ -f "/etc/init/$1.conf" ]; then
|
|
# Use upstart
|
|
case "$(status $1 2>/dev/null)" in
|
|
*running*)
|
|
true
|
|
;;
|
|
*)
|
|
false
|
|
;;
|
|
esac
|
|
elif [ -f "/etc/init.d/$1" ]; then
|
|
# Fall back to sysvinit
|
|
/etc/init.d/$1 status >/dev/null 2>&1
|
|
else
|
|
false
|
|
fi
|
|
}
|
|
|
|
__services() {
|
|
local services="$SERVICES"
|
|
# Users can define a list of services to monitor in $BYOBU_CONFIG_DIR/status
|
|
if [ -z "$services" ]; then
|
|
if [ -f "/etc/eucalyptus/eucalyptus.conf" ]; then
|
|
# If the user has not defined any services, but this system is a
|
|
# UEC system, default to the list of Ubuntu Enterprise Cloud Services
|
|
services="eucalyptus-cloud|CLC eucalyptus-walrus|WC eucalyptus-cc|CC eucalyptus-sc|SC eucalyptus-nc|NC"
|
|
fi
|
|
fi
|
|
output=
|
|
for i in $services; do
|
|
service=${i%|*}
|
|
nick=${i#*|}
|
|
case "$service" in
|
|
eucalyptus-nc)
|
|
if service_running $service; then
|
|
# This is a node controller, determine VM usage
|
|
. /etc/eucalyptus/eucalyptus.conf
|
|
count=$(pgrep -c -f /usr/bin/kvm || true)
|
|
output="$output,NC:$count"
|
|
fi
|
|
;;
|
|
*)
|
|
service_running $service && output="$output,$nick"
|
|
;;
|
|
esac
|
|
done
|
|
[ -n "$output" ] || return
|
|
color w c; printf "%s" ${output#,}; color --
|
|
}
|
|
|
|
# vi: syntax=sh ts=4 noexpandtab
|