PDA

View Full Version : httpd-Server beim Systemstart beenden / neustarten


WLAN-Fan
26-01-2008, 15:33
Hi,

um mein "übermountetes" WebGui nutzten zu können muß ich nach dem "übermounten" den Original http-Server beenden und neu starten.

Per Putty geht das mit top => Prozeßnummer ermittel und dann kill Prozeßnummer. Der interne Watchdog des ASUS startet den automatisch sofort wieder neu.

Jetzt will ich das in meine Post-boot einbeziehen wie folgt:
#!/bin/sh
dropbear
# test if USB disc has been attached
# if not - then insert needed modules
#
# Die folgenden 4 Rauten entfernen, wenn eine USB-Platte angeschlossen ist. Beim WL-HDD nicht notwendig, da IDE.
#if [ ! -d /dev/discs ]
#then
#insmod scsi_mod && insmod sd_mod && insmod usb-storage && sleep 5s
#fi

#Wait for /opt to mount
mount /dev/discs/disc0/part2 /opt
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done

# Activate swap
swapon /dev/discs/disc0/part1

# Mount the rest
mount /dev/discs/disc0/part3 /tmp/harddisk

# Mount "Übermounten" von /www durch /tmp/harddisk/wwwzusatz
mount --bind /tmp/harddisk/wwwzusatz /www


# Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung

# DNS-Server eintragen
echo "nameserver 10.0.2.1" > /etc/resolv.conf

# MP3-Player Zusatz
killall waveservermain
killall waveserver

# beenden und automatisch neustarten des origianlen httpd
killall httpd


Diese Zeile habe ich hinzugefügt
# beenden und automatisch neustarten des origianlen httpd
killall httpd
Leider scheint der Original http - Server damit nicht beendet zu werden oder es wird versucht ihn zu beenden bevor er überhaupt das erste mal gestartet wurde vom System.

Wie kann ich das ermitteln?

Gruß.

carterb
26-01-2008, 15:39
Hallo,

an welcher Stelle in deinen aktiven Prozessen steht er denn?

poste doch bitte mal deine aktiven Prozesse nach dem Neustart.

Grüsse
Oliver

WLAN-Fan
26-01-2008, 15:44
Hi,
Hallo,

an welcher Stelle in deinen aktiven Prozessen steht er denn?

poste doch bitte mal deine aktiven Prozesse nach dem Neustart.

Grüsse
Oliver
Bis jetzt war er immer Prozess mit der Nummer 47.

top
top - 13:01:27 up 1 min, 0 users, load average: 0.61, 0.26, 0.09
Tasks: 31 total, 1 running, 30 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.1% user, 2.5% system, 0.0% nice, 94.3% idle
Mem: 13908k total, 12520k used, 1388k free, 736k buffers
Swap: 506008k total, 2272k used, 503736k free, 4960k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
174 admin 15 0 668 668 508 R 5.0 4.8 0:00.88 top
168 admin 9 0 720 708 536 S 0.6 5.1 0:02.24 dropbear
2 admin 9 0 0 0 0 S 0.0 0.0 0:00.01 keventd
4 admin 9 0 0 0 0 S 0.0 0.0 0:00.17 kswapd
1 admin 9 0 460 384 380 S 0.0 2.8 0:03.31 init
6 admin 9 0 0 0 0 S 0.0 0.0 0:00.00 kupdated
7 admin 9 0 0 0 0 S 0.0 0.0 0:00.52 mtdblockd
43 admin 9 0 300 220 220 S 0.0 1.6 0:00.01 telnetd
47 admin 9 0 388 312 292 S 0.0 2.2 0:00.25 httpd
48 admin 9 0 432 228 228 S 0.0 1.6 0:02.09 nas
52 admin 9 0 396 328 300 S 0.0 2.4 0:00.15 syslogd
53 admin 9 0 356 280 280 S 0.0 2.0 0:00.11 klogd
54 admin 9 0 0 0 0 S 0.0 0.0 0:00.00 khubd
66 admin 9 0 252 184 184 S 0.0 1.3 0:00.20 lpd
68 admin 9 0 248 188 188 S 0.0 1.4 0:00.00 p910nd
3 admin 18 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd_CPU0
81 admin 9 0 332 216 208 S 0.0 1.6 0:00.11 infosvr
5 admin 9 0 0 0 0 S 0.0 0.0 0:00.00 bdflush
84 admin 8 0 340 232 228 S 0.0 1.7 0:00.07 ntp
92 admin 9 0 380 320 316 S 0.0 2.3 0:00.42 dropbear
93 admin 9 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
98 admin 9 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
107 admin 9 0 276 256 232 S 0.0 1.8 0:38.26 cron
113 admin 9 0 332 248 248 S 0.0 1.8 0:00.02 xinetd
133 admin 9 0 664 228 228 S 0.0 1.6 0:00.03 smbd
135 admin 9 0 880 584 492 S 0.0 4.2 0:00.15 nmbd
144 admin 8 0 3916 3696 2168 S 0.0 26.6 0:01.11 thttpd
150 admin 9 0 384 316 248 S 0.0 2.3 0:00.01 stupid-ftpd
76 admin 9 0 332 204 204 S 0.0 1.5 0:00.05 rcamdmain
171 admin 9 0 560 556 428 S 0.0 4.0 0:00.30 sh
82 admin 8 0 444 360 316 S 0.0 2.6 0:00.37 watchdog

Gruß.

carterb
26-01-2008, 15:54
Hallo,

Also ich habe den Befehl gerade mal in meine post-boot eingebunden und denke er funktioniert.
Mit dem Kommando ps axf sieht du die laufenden Prozesse und wenn ich mich richtig erinnere in zeitlicher Abfolge, der zuletzt gestartete steht am Ende.

Hier meine Prozesse ohne den Eintrag in der post-boot:
[admin@Asus root]$ ps axf
PID TTY STAT TIME COMMAND
1 ? S 0:01 /sbin/init
2 ? S 0:00 [keventd]
3 ? RN 0:00 [ksoftirqd_CPU0]
4 ? S 0:00 [kswapd]
5 ? S 0:00 [bdflush]
6 ? S 0:00 [kupdated]
7 ? S 0:00 [mtdblockd]
59 ? S 0:00 telnetd
64 ? S 0:00 httpd vlan1
65 ? Ss 0:00 nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan
70 ? S 0:00 klogd
71 ? S 0:00 dnsmasq
73 ? S 0:00 [khubd]
82 ? Ss 0:00 lpd
84 ? Ss 0:00 p9100d -f /dev/usb/lp0 0
87 ? Ss 0:00 waveservermain
89 ? Ss 0:00 rcamdmain
93 ? S 0:00 [usb-storage-0]
94 ? S 0:00 [scsi_eh_0]
114 ? Ss 0:00 pppd file /tmp/ppp/options.wan0
116 ? Ss 0:00 infosvr br0
117 ? Ss 0:00 watchdog
119 ? Zs 0:00 \_ [ntp] <defunct>
130 ? S 0:00 dropbear
238 ? Ss 0:00 \_ dropbear
239 pts/0 Ss 0:00 \_ -sh
242 pts/0 R+ 0:00 \_ ps axf
134 ? S 0:00 [kjournald]
148 ? S 0:00 [kjournald]
170 ? S 0:00 /sbin/syslogd -m 0 -O /opt/var/log/messages -S -l 7
173 ? Ss 0:00 /opt/sbin/cron
181 ? Ss 0:00 /opt/sbin/xinetd
190 ? S 0:00 /usr/sbin/busybox_httpd -c /opt/etc/httpd.conf -p 800
196 ? Ss 0:00 /opt/sbin/smbd -D
198 ? Ss 0:00 /opt/sbin/nmbd -D
209 ? S 0:00 /opt/sbin/thttpd -C /opt/etc/thttpd.conf
235 ? S 0:00 stupid-ftpd



und hier mit:
ps axf
PID TTY STAT TIME COMMAND
1 ? S 0:01 /sbin/init
2 ? S 0:00 [keventd]
3 ? RN 0:00 [ksoftirqd_CPU0]
4 ? S 0:00 [kswapd]
5 ? S 0:00 [bdflush]
6 ? S 0:00 [kupdated]
7 ? S 0:00 [mtdblockd]
59 ? S 0:00 telnetd
65 ? Ss 0:01 nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan
70 ? S 0:00 klogd
71 ? S 0:00 dnsmasq
73 ? S 0:00 [khubd]
82 ? Ss 0:00 lpd
84 ? Ss 0:00 p9100d -f /dev/usb/lp0 0
87 ? Ss 0:00 waveservermain
89 ? Ss 0:00 rcamdmain
93 ? S 0:00 [usb-storage-0]
94 ? S 0:00 [scsi_eh_0]
114 ? Ss 0:00 pppd file /tmp/ppp/options.wan0
116 ? Ss 0:00 infosvr br0
117 ? Ss 0:00 watchdog
119 ? Zs 0:00 \_ [ntp] <defunct>
130 ? S 0:00 dropbear
241 ? Ss 0:01 \_ dropbear
243 pts/0 Ss 0:00 \_ -sh
272 pts/0 R+ 0:00 \_ ps axf
145 ? S 0:00 [kjournald]
155 ? S 0:00 [kjournald]
168 ? S 0:00 /sbin/syslogd -m 0 -O /opt/var/log/messages -S -l 7
173 ? Ss 0:00 /opt/sbin/cron
179 ? Ss 0:00 /opt/sbin/xinetd
188 ? S 0:00 /usr/sbin/busybox_httpd -c /opt/etc/httpd.conf -p 8008 -h /opt/share/www
196 ? Ss 0:00 /opt/sbin/smbd -D
198 ? Ss 0:00 /opt/sbin/nmbd -D
209 ? S 0:00 /opt/sbin/thttpd -C /opt/etc/thttpd.conf
235 ? S 0:00 stupid-ftpd
240 ? S 0:00 httpd vlan1


Im zweiten Fall steht der httpd am Ende. Das lässt mich darauf schliessen, dass er gestartet wurde, dann durch den killall-Befehl beendet und anschließend automatisch wieder gestartet, also eigentlich genau was Du möchtest?!

Grüsse

WLAN-Fan
27-01-2008, 16:52
Hi,
also eigentlich genau was Du möchtest?!
Genau das was ich möchte, richtig.

Nur macht es das nicht.
Kann das damit zusammenhängen?
find | grep post-boot
./www/post-boot
./tmp/harddisk/wwwzusatz/post-boot
./tmp/local/sbin/post-boot
./proc/7/fd: No such file or directory
Gruß.