Hilfe. Boot-Programm schmiert immer ab
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, ich habe ein Boots-Skript geschrieben, welches meine App starten soll. Allerdings schmiert dann - bei einem automatischen Reboot - diese Applikation nach einiger Zeit ab. <Skript> # # /etc/init.d/AnzeigeSystem_Pmt # case "$1" in start) echo -n "Starting AnzeigeSystem" /home/benutzer/anzeigesystem.sh ;; stop) echo -n "Shutting down AnzeigeSystem " killall java ;; restart) $0 stop $0 start ;; *) echo "Usage: $0" \ "{start|stop|status|restart}" exit 1 ;; </skript> <Skript /home/benutzer/anzeigesystem.sh> #!/bin/sh export DISPLAY=:0 cd /home/benutzer/AnzeigeSystem /usr/local/bin/java AnzeigeSystem & </Skript> Nach meinem Verständnis sollte dem Booten hier nichts im Wege stehen und die Applikation automatisch gestartet werden und dann auch bis in theoretische unendliche laufen. Allerdings erhalte beendet sich die App nach einer gewissen Zeit wieder. <Ausgabe tail -n 50 /var/log/boot.msg> Boot logging started on /dev/tty1(/dev/console) at Sat Nov 5 02:30:02 2005 Master Resource Control: previous runlevel: 5, switching to runlevel: 6 <notice>stop services (splash_late) <notice>exit status of (splash_late) is (0) <notice>stop services (cron PMT_AnzeigeSystem) Shutting down PureMatic AnzeigeSystem Shutting down CRON daemon<notice>killproc: kill(1346,15) done <notice>exit status of (cron PMT_AnzeigeSystem) is (0 0) (EE) FBDEV(0): FBIOPAN_DISPLAY: Invalid argument </Ausgabe> Wo könnte der Fehler liegen? Interessant ist auch, dass noch ein Java-Prozess existiert, der sich partout nicht beenden lassen will. Auch nicht mit kill -55 PID. Wenn ich die App neu starte, dann kommt eine Fehlermeldung, dass die Portadresse schon verwendet wird (Von dem sich nicht beendenden Java-Prozess). Wer weiss rat? Wer kann mir helfen? Vielen Dank Michael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDbIaBNhM2b4kmzXwRAkWwAJ9wQgr3PV5YBfXLl33ggfQ8mAZy2wCffZ7p t1PIKeTvkxIfaBdb73LOZ+o= =0Z1O -----END PGP SIGNATURE-----
Hallo Michael, hallo Leute, Am Samstag, 5. November 2005 11:16 schrieb Michael Post:
ich habe ein Boots-Skript geschrieben, welches meine App starten soll. Allerdings schmiert dann - bei einem automatischen Reboot - diese Applikation nach einiger Zeit ab. [...] start) echo -n "Starting AnzeigeSystem" /home/benutzer/anzeigesystem.sh
Üblicherweise wird hier "startproc" verwendet, siehe /etc/init.d/skeleton.
;; stop) echo -n "Shutting down AnzeigeSystem " killall java
*autsch* Was ist, wenn noch mehr Java-Programme laufen? (Kurzfassung: die _liefen_ mal...)
<Skript /home/benutzer/anzeigesystem.sh> #!/bin/sh
export DISPLAY=:0 cd /home/benutzer/AnzeigeSystem /usr/local/bin/java AnzeigeSystem & </Skript>
Allerdings erhalte beendet sich die App nach einer gewissen Zeit wieder. [...] <notice>exit status of (cron PMT_AnzeigeSystem) is (0 0) (EE) FBDEV(0): FBIOPAN_DISPLAY: Invalid argument [...] Wo könnte der Fehler liegen?
Dein Programm benötigt Zugriff auf den X-Server (siehe DISPLAY=:0), aber den bekommt es nicht. (Merke: nichtmal root darf [ohne weiteres] auf den X-Server eines Benutzers zugreifen.) Grafische Programme haben in /etc/init.d/ üblicherweise nichts zu suchen. Mein Vorschlag wäre, das Programm im Autostart-Ordner des Benutzers starten zu lassen.
Interessant ist auch, dass noch ein Java-Prozess existiert, der sich partout nicht beenden lassen will. Auch nicht mit kill -55 PID.
Hast Du kill -9 probiert? Gruß Christian Boltz -- Ich springe so oft aus dem Fenster, daß ich ein schnurloses Telefon habe. [Ratti in suse-linux]
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, Christian Boltz schrieb:
Hallo Michael, hallo Leute,
Üblicherweise wird hier "startproc" verwendet, siehe /etc/init.d/skeleton.
Hm .. hier ist das Default-Template für so eine Datei zu finden. Ok. Und warum soll ich das verwenden und nicht meine abgespekte Variante?
*autsch*
Was ist, wenn noch mehr Java-Programme laufen? (Kurzfassung: die _liefen_ mal...)
Ich weiss. Allerdings wird es NIE auf diesem Rechner weitere Java-Prozesse geben. Ansonsten muss ich halt mit PID-Files arbeiten. Aber muss hier (noch) nicht sein.
Dein Programm benötigt Zugriff auf den X-Server (siehe DISPLAY=:0), aber den bekommt es nicht. (Merke: nichtmal root darf [ohne weiteres] auf den X-Server eines Benutzers zugreifen.)
Grafische Programme haben in /etc/init.d/ üblicherweise nichts zu suchen.
Mein Vorschlag wäre, das Programm im Autostart-Ordner des Benutzers starten zu lassen.
Und welcher User ist der Autostart - User? Wie / Wo kann ich den definieren?
Interessant ist auch, dass noch ein Java-Prozess existiert, der sich partout nicht beenden lassen will. Auch nicht mit kill -55 PID.
Hast Du kill -9 probiert?
Ehrlich gesagt nein. Gruß Michael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDblvuNhM2b4kmzXwRAscDAKCG8OAxMOtiAC1Im0Dwhdvvh0qO0QCfUAca qhYmG6ogZF9vK9leb2pYZSo= =zaAl -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, nachdem ich den Boot-Vorgang komplett überarbeitet habe und mittels xinit und .xinitrc arbeite und das Programm nicht mehr als Hintergrundprozess laufen lasse funktioniert der Bootprozess nun einwandfrei. Vielen Dank für Eure Hilfe Michael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDb4YFNhM2b4kmzXwRAqwEAJ9YKZwhY1r89hmy6JnVPoZjSIdPZwCdFNVm 2yJ0u0x8QfqvPGlHY0TuZic= =I6dO -----END PGP SIGNATURE-----
participants (2)
-
Christian Boltz
-
Michael Post