[BusyBox] Help - how to start a script after busybox is loaded?
Lee Xing
lxing at Crossroads.com
Fri May 3 15:19:02 UTC 2002
Geoffrey,
Thanks so much for the info. Yes, it fixes that problem. The daemon started by rcS can keep running after rcS completes.
I'm new in busybox. Could you please tell me:
Q1: is this fix (adding "trap "" SIGHUP" to rcS) only for busybox v0.60.0?
Q2: where can I find all other "APIs or cmds" similar with "trap "" SIGHUP" used by busybox?
Thanks.
Lee
-----Original Message-----
From: Geoffrey Espin [mailto:espin at idiom.com]
Sent: Friday, May 03, 2002 3:06 PM
To: Lee Xing
Cc: busybox at busybox.net
Subject: Re: [BusyBox] Help - how to start a script after busybox is
loaded?
On Fri, May 03, 2002 at 02:41:22PM -0500, Lee Xing wrote:
> Yes, I do use /etc/init.d/rcS to load a couple of modules and start a daemon. But all activities (loading modules and starting the daemon) defined in rcS are started before the following step (where busybox is fully loaded):
>
> ...
> BusyBox v0.60.0 (2001.08.24-22:09+0000) Built-in shell (ash)
> Enter 'help' for a list of built-in commands.
>
> and it causes a problem. The problem is the daemon started by rcS always gets closed when seeing the above trace. That's why I'm looking for a way to start a script (which loads modules and starts a daemon) after the above step (i.e. after busybox is fully loaded).
Oh.
Not sure what you mean "trace". But with 0.60.0 maybe this is
the problem/solution:
http://busybox.net/lists/busybox/2002-March/011023.html
Also check the thread on this subject.
Geoff
--
Geoffrey Espin
espin at idiom.com
--
>From busybox-admin at busybox.net Mon Mar 4 09:20:27 2002
From: Geoffrey Espin <espin at idiom.com>
To: BusyBox <busybox at busybox.net>
Subject: Re: [BusyBox] Starting services with busybox init
Date: Mon, 4 Mar 2002 09:19:24 -0800
> > BusyBox init doesn't detach rcS from the terminal, so that
> > processes spawned therein receive a SIGHUP and die if they don't
> > detach in time.
> So what more do we need to do to detach client programs from the
> terminal? After the fork I close all file descriptors and call
> setsid() -- isn't that enough? I guess I am missing something...
> <goes and looks at sysvinit sources>
> Ok, I think I see what needs to be done...
This came up some months ago... just add this to the beginnig of rcS:
# allow scripts to continue running after rcS completes
trap "" SIGHUP
Attached is my rcS, which is mainly what Erik wrote some time ago.
Geoff
--
Geoffrey Espin
espin at idiom.com
--
#!/bin/sh
#
# rcS
# Start all init scripts in /etc/init.d
# executing them in numerical order.
# allow scripts to continue running after rcS completes
trap "" SIGHUP
echo "Running $0 ."
for i in /etc/init.d/S??* ;do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
echo "Running $i ."
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
echo "Done $i ."
done
echo "Done $0 ."
_______________________________________________
busybox mailing list
busybox at busybox.net
http://busybox.net/mailman/listinfo/busybox
More information about the busybox
mailing list