On Tuesday 18 February 2003 8:56 am, Alexander Futasz wrote:
> On Tue, 18 Feb 2003 08:48:17 -0500, Phil Barnett wrote:
> > What I miss in Gentoo is the simple format for services like found in
> > Redhat and many others, ie:
> >
> > service servicename stop/start/restart
> >
> > It eliminates needing to know where the service directory is or
> > including it every time.
> >
> > service httpd stop
> >
> > is a lot easier than any other incarnation and make any system easier
> > to admin.
>
> <shellscript>
> #!/bin/sh
> /etc/init.d/$1 $2
> </shellscript>
>
> put that in /usr/sbin or whereever you like, name it "service", give it
> the right permissions and you will have the functionality you described.
>
> i read that before on the list, so it must be somewhere on the archives
> too.
Well, there's two points to make here.
1. It should be part of Gentoo, not some hack that I put together.
2. The RH service script does a whole lot more than that, take a look, it's
gpl...
[root@gizmo root]# cat /sbin/service
#!/bin/sh
# Set up a default search path.
PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
export PATH
VERSION="`basename $0` ver. 0.91"
USAGE="Usage: `basename $0` < option > | --status-all | \
[ service_name [ command | --full-restart ] ]"
SERVICE=
SERVICEDIR="/etc/init.d"
if [ $# -eq 0 ]; then
echo $"${USAGE}" >&2
exit 1
fi
cd /
while [ $# -gt 0 ]; do
case "${1}" in
--help | -h | --h* )
echo $"${USAGE}" >&2
exit 0
;;
--version | -V )
echo $"${VERSION}" >&2
exit 0
;;
*)
if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then
cd ${SERVICEDIR}
for SERVICE in * ; do
case "${SERVICE}" in
functions | halt | killall | single| linuxconf| kudzu | \
*rpmorig | *rpmnew | *rpmsave | *~ | *.orig)
;;
*)
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
env -i LANG=$LANG PATH=$PATH "${SERVICEDIR}/${SERVICE}"
status
fi
;;
esac
done
exit 0
elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
SERVICE="${1}"
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
env -i LANG=$LANG PATH=$PATH "${SERVICEDIR}/${SERVICE}" stop
env -i LANG=$LANG PATH=$PATH "${SERVICEDIR}/${SERVICE}" start
exit $?
fi
elif [ -z "${SERVICE}" ]; then
SERVICE="${1}"
else
OPTIONS="${OPTIONS} ${1}"
fi
shift
;;
esac
done
if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
env -i LANG=$LANG PATH=$PATH "${SERVICEDIR}/${SERVICE}" ${OPTIONS}
else
echo $"${SERVICE}: unrecognized service" >&2
exit 1
fi
--
[EMAIL PROTECTED] mailing list