svn commit: r200809 - head/usr.sbin/service
Doug Barton
dougb at FreeBSD.org
Mon Dec 21 20:32:05 UTC 2009
Author: dougb
Date: Mon Dec 21 20:32:04 2009
New Revision: 200809
URL: http://svn.freebsd.org/changeset/base/200809
Log:
By popular request, execute rc.d scripts in the same environment
as they are at boot time.
Original concept submitted by: ume
Modified:
head/usr.sbin/service/service.8
head/usr.sbin/service/service.sh
Modified: head/usr.sbin/service/service.8
==============================================================================
--- head/usr.sbin/service/service.8 Mon Dec 21 20:18:01 2009 (r200808)
+++ head/usr.sbin/service/service.8 Mon Dec 21 20:32:04 2009 (r200809)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 19, 2009
+.Dd December 20, 2009
.Dt service 8
.Os
.Sh NAME
@@ -44,7 +44,10 @@ The
.Nm
command is an easy interface to the rc.d system.
Its primary purpose is to start and stop services provided
-by the rc.d scripts, however it can also be used to list
+by the rc.d scripts.
+When used for this purpose it will set the same restricted
+environment that is in use at boot time (see below).
+It can also be used to list
the scripts using various criteria.
.Pp
The options are as follows:
@@ -78,6 +81,20 @@ above, but list all of the files, not ju
.It Fl v
Be slightly more verbose
.El
+.Sh ENVIRONMENT
+When used to run rc.d scripts the
+.Nm
+command sets
+.Ev HOME
+to
+.Pa /
+and
+.Ev PATH
+to
+.Pa /sbin:/bin:/usr/sbin:/usr/bin
+which is how they are set in
+.Pa /etc/rc
+at boot time.
.Sh EXIT STATUS
.Ex -std
.Sh EXAMPLES
Modified: head/usr.sbin/service/service.sh
==============================================================================
--- head/usr.sbin/service/service.sh Mon Dec 21 20:18:01 2009 (r200808)
+++ head/usr.sbin/service/service.sh Mon Dec 21 20:32:04 2009 (r200809)
@@ -106,11 +106,11 @@ else
exit 1
fi
+cd /
for dir in /etc/rc.d $local_startup; do
if [ -x "$dir/$script" ]; then
[ -n "$VERBOSE" ] && echo "$script is located in $dir"
- $dir/$script $*
- exit $?
+ exec env -i HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin $dir/$script $*
fi
done
More information about the svn-src-head
mailing list