svn commit: r200743 - in head/usr.sbin: . service
Doug Barton
dougb at FreeBSD.org
Sun Dec 20 07:30:38 UTC 2009
I've reattached your original patch and included the freebsd-rc list.
Hajimu UMEMOTO wrote:
> Hi,
>
>>>>>> On Sat, 19 Dec 2009 21:51:13 -0800
>>>>>> Doug Barton <dougb at FreeBSD.org> said:
>
> dougb> Other than the removal of "exit $?" I'm not necessarily opposed to
> dougb> that idea, but I'm wondering what value this change would have in the
> dougb> "system is already up and running" case (when it will be executed) vs.
> dougb> at boot time (such as in /etc/rc where the code is copied from).
>
> I don't just remove "exit $?". Since the script is kicked by "exec",
> the return value from the script is returned to the process which
> kicked service(8), directly.
Good point, I did not read your patch carefully enough, sorry.
> About the value this change, I think it should be same as the values
> at boot time. I cannot imagine that someone want to restart the
> system daemons under the user environment.
I can actually, especially for ports.
> Even if someone want to do
> so, he still can kick /etc/rc.d/foo, directly.
The point of adding a service(8) is to avoid needing to do that. :)
> Further, it seems service(8) does similar thing on CentOS.
I've already made one too-hasty comment on your suggestion, so I will
take a step back and let other's chime in.
Doug
--
Improve the effectiveness of your Internet presence with
a domain name makeover! http://SupersetSolutions.com/
-------------- next part --------------
Index: usr.sbin/service/service.sh
diff -u usr.sbin/service/service.sh.orig usr.sbin/service/service.sh
--- usr.sbin/service/service.sh.orig 2009-12-20 13:14:14.000000000 +0900
+++ usr.sbin/service/service.sh 2009-12-20 13:17:44.420246627 +0900
@@ -106,11 +106,15 @@
exit 1
fi
+HOME=/
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+export HOME PATH
+cd $HOME
+
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=$HOME PATH=$PATH $dir/$script $*
fi
done
More information about the svn-src-head
mailing list