Programm beim Hochfahren als daemon starten
Hallo zusammen, ich habe ein kleines Perl-Skript geschrieben, das als NRP-Server ein spezielles Protokoll bedient (siehe signature). Nun moechte ich es beim Hochfahren als daemon starten. Dazu habe ich /sbin/init.d/skeleton als 'nrpserver' umbenannt. Dieses Script tut auch, wenn ich es als root direkt mit dem Parameter 'start' aufrufe. Nun habe ich bei rctab -e unter Runlevel:2 und auch unter Runlevel:3 jeweils 'nrpserver' eingetragen, worauf hin die Links in /sbin/init.d/rc.2 und rc.3 eingetragen worden sind. Leider wird das Programm beim Hochfahren trotzdem nicht gestartet. In dem Skript wird es mit startproc -l /var/log/anitmt-server <programm> aufgerufen, da es Ausgaben auf stdout und stderr macht. Auch das Studium der hanzen manpages hat mir leider nicht weitergeholfen. Was habe ich uebersehen? Danke, Jan --
Jan Theofel - jan@theofel.de - http://www.theofel.de/ <<<
Check out AniTMT, a free software package to create animations and render them in networks. http://www.theofel.de/anitmt/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi, On Thu, Mar 16 2000 at 19:34 +0100, Jan Theofel wrote:
Dazu habe ich /sbin/init.d/skeleton als 'nrpserver' umbenannt. Dieses Script tut auch, wenn ich es als root direkt mit dem Parameter 'start' aufrufe.
Nun habe ich bei rctab -e unter Runlevel:2 und auch unter Runlevel:3 jeweils 'nrpserver' eingetragen, worauf hin die Links in /sbin/init.d/rc.2 und rc.3 eingetragen worden sind.
Leider wird das Programm beim Hochfahren trotzdem nicht gestartet.
Hast Du daran gedacht, dass in dem skeleton-Skript . /etc/rc.config # Determine the base and follow a runlevel link name. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Force execution if not called by a runlevel directory. test $link = $base && START_FOO=yes test "$START_FOO" = yes || exit 0 teht? Es wird geprüft, ob das Skript direkt oder über einen der Links in den Runlevel-Verzeichnissen aufgerufen wurde. Im letzteren Fall muss die Variable $START_FOO in /etc/rc.config auf yes gesetzt sein, damit der daemon gestartet wird. Ciao, Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Don, Mär 16, 2000 at 07:34:20 +0100, Jan Theofel wrote:
ich habe ein kleines Perl-Skript geschrieben, das als NRP-Server ein spezielles Protokoll bedient (siehe signature). Nun moechte ich es beim Hochfahren als daemon starten.
Dazu habe ich /sbin/init.d/skeleton als 'nrpserver' umbenannt. Dieses Script tut auch, wenn ich es als root direkt mit dem Parameter 'start' aufrufe.
Nun habe ich bei rctab -e unter Runlevel:2 und auch unter Runlevel:3 jeweils 'nrpserver' eingetragen, worauf hin die Links in /sbin/init.d/rc.2 und rc.3 eingetragen worden sind.
Leider wird das Programm beim Hochfahren trotzdem nicht gestartet.
In dem Skript wird es mit startproc -l /var/log/anitmt-server <programm> aufgerufen, da es Ausgaben auf stdout und stderr macht.
Poste mal die Ausgabe von ls -l sowohl für das Script als auch für die Links in rc2.d, rc3.d Sind die x-Bits vorhanden? Bist Du sicher, dass das Script nicht gestartet wird? Oder funktionieren die Aufrufe _innerhalb_ des Scripts nicht? Hast Du daran gedacht, alle Kommandos mit ihrem Pfad aufzurufen bzw. die Umgebungsvariable PATH zu setzen? Werden evtl. andere Umgebungsvariablen benötigt, die beim Systemstart fehlen? Vergleiche dazu mal die Ausgabe von /usr/bin/env in der Shell mit der zur Startzeit (/usr/bin/env >/tmp/env.log). Existiert die Logdatei? hth Jan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (3)
-
Jan.Trippler@t-online.de
-
jantheofel@gmx.de
-
stefan.troeger@wirtschaft.tu-chemnitz.de