[Bug 203169] Re: "status" function for init scripts
Steve Langasek
steve.langasek at canonical.com
Tue Feb 28 03:39:34 UTC 2012
The nis package in Ubuntu has been converted to use upstart jobs instead
of init scripts, so this no longer applies.
** Changed in: nis (Ubuntu)
Status: Fix Committed => Invalid
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to samba in Ubuntu.
https://bugs.launchpad.net/bugs/203169
Title:
"status" function for init scripts
Status in NIS: Network Information System:
Invalid
Status in “apache2” package in Ubuntu:
Fix Released
Status in “asterisk” package in Ubuntu:
Invalid
Status in “at” package in Ubuntu:
Fix Released
Status in “bind9” package in Ubuntu:
Fix Released
Status in “cron” package in Ubuntu:
Fix Released
Status in “dovecot” package in Ubuntu:
Fix Released
Status in “lsb” package in Ubuntu:
Fix Released
Status in “nis” package in Ubuntu:
Invalid
Status in “openssh” package in Ubuntu:
Fix Released
Status in “postgresql-8.3” package in Ubuntu:
Invalid
Status in “samba” package in Ubuntu:
Fix Released
Status in “sysklogd” package in Ubuntu:
Fix Released
Status in “udev” package in Ubuntu:
Invalid
Status in “debian-policy” package in Debian:
New
Status in “lsb” package in Debian:
Fix Released
Status in “samba” package in Debian:
Fix Released
Bug description:
Binary package hint: lsb
Ubuntu Hardy, lsb-base 3.1-24ubuntu2
This bug has been discussed on the Ubuntu-devel mailing list [1].
Only a very few of the service init scripts in /etc/init.d, (apparmor,
cupsys, mysql, postfix, postgresql) have implemented the "status"
action.
The Linux Standard Base init script specification [2] describes the
status action in detail, and requires it for LSB compliance. It
provides a centralized and direct way of determine if a given service
is running or not, with a more sophistication than grepping a process
listing. It logs a message to standard out, and exits with one of a
number of meaningful codes, also defined in [2].
Users and system administrators with experience in LSB-compliant
distributions can be frustrated by a lack of a standard way to
determine if a given service is running or not in Ubuntu. Given the
LTS designation of Hardy and our interest in furthering the Ubuntu
Server, we'd like to add this functionality to several of the init
scripts for core daemons that ship on the Ubuntu Server ISO. It will
also facilitate the integration with ebox and other status gathering
and reporting tools.
We suggest solving this by adding a function to /lib/lsb/init-
functions, which is already sourced by most scripts in /etc/init.d.
The heavy lifting is performed by the pidofproc() function, which is
already defined in that same file. (A proper debdiff will follow.)
+status_of_proc () {
+ local daemon name status
+ daemon="$1"
+ name="$2"
+ pidofproc $daemon >/dev/null
+ status=$?
+ if [ $status -eq 0 ]; then
+ log_success_msg "$name is running."
+ else
+ log_failure_msg "$name is not running."
+ fi
+ return $status
+}
This addition would be followed by patches to init scripts essentially adding a case handler:
+ status)
+ status_of_proc "$DAEMON" "$NAME"
+ exit $?
+ ;;
The risk should be minimal. It will clearly not affect the
functionality of starting and stopping daemons, and thus a minimal
chance of regression. We will push the changes to Debian, as there is
a similar bug in Debian's bug tracker [3].
[1] https://lists.ubuntu.com/archives/ubuntu-devel/2008-March/025176.html
[2] http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=291148
To manage notifications about this bug go to:
https://bugs.launchpad.net/nis/+bug/203169/+subscriptions
More information about the foundations-bugs
mailing list