Prozess über telnet wird beim Beenden gekillt

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
slickwilly2000
Interessierter
Interessierter
Beiträge: 56
Registriert: Dienstag 9. April 2002, 20:03

Prozess über telnet wird beim Beenden gekillt

Beitrag von slickwilly2000 »

Hallo,

ich habe folgendes Problem. Wenn ich auf meiner dbox2 über telnet einen Prozess starte und dann telnet wieder beende, ist der Prozess auch weg.

Im Internet habe ich schon gesucht und auch hier in der Boardsuche bin ich nicht fündig geworden. Das einzige brauchbare, was ich gefunden habe, ist bei Befehlen ein '&' (Kaufmannsund) anzuhängen, wodurch ein Hintergrundprozess in's Leben gerufen wird.

Aber auch solche Prozesse sind nach dem Beenden von telnet nicht mehr da.


Wer kann mir helfen?

Danke
slickwilly2000
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

Hi,

siehe DieMade.

Eine Lösung ist z.B. auch das:
http://wiki.tuxbox-cvs.sourceforge.net/Neutrino:Skripte

Gruß
mash
Zuletzt geändert von mash4077 am Dienstag 3. Januar 2006, 18:32, insgesamt 1-mal geändert.
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

trap "" 1 ; befehl
There are 10 types of people in the world: those who know binary and those who don't
slickwilly2000
Interessierter
Interessierter
Beiträge: 56
Registriert: Dienstag 9. April 2002, 20:03

Beitrag von slickwilly2000 »

DieMade hat geschrieben:
trap "" 1 ; befehl
Danke! Das funktioniert!


Verrätst du mir auch noch, was der vorangestellte trap-Befehl macht?

Fängt der das Signal SIGHUP ab und macht dann gar nichts mit ""?

Mfg
slickwilly2000
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

trap [-lp] [[arg] sigspec ...]
The command arg is to be read and executed when the shell receives signal(s) sigspec. If arg is absent
(and there is a single sigspec) or -, each specified signal is reset to its original disposition (the value
it had upon entrance to the shell). If arg is the null string the signal specified by each sigspec is
ignored by the shell and by the commands it invokes.
If arg is not present and -p has been supplied, then
the trap commands associated with each sigspec are displayed. If no arguments are supplied or if only -p
is given, trap prints the list of commands associated with each signal. The -l option causes the shell to
print a list of signal names and their corresponding numbers. Each sigspec is either a signal name defined
in <signal.h>, or a signal number. Signal names are case insensitive and the SIG prefix is optional. If a
sigspec is EXIT (0) the command arg is executed on exit from the shell. If a sigspec is DEBUG, the command
arg is executed before every simple command, for command, case command, select command, every arithmetic
for command, and before the first command executes in a shell function (see SHELL GRAMMAR above). Refer to
the description of the extdebug option to the shopt builtin for details of its effect on the DEBUG trap.
If a sigspec is ERR, the command arg is executed whenever a simple command has a non-zero exit status, sub-
ject to the following conditions. The ERR trap is not executed if the failed command is part of the com-
mand list immediately following a while or until keyword, part of the test in an if statement, part of a &&
or || list, or if the command's return value is being inverted via !. These are the same conditions obeyed
by the errexit option. If a sigspec is RETURN, the command arg is executed each time a shell function or a
script executed with the . or source builtins finishes executing. Signals ignored upon entry to the shell
cannot be trapped or reset. Trapped signals are reset to their original values in a child process when it
is created. The return status is false if any sigspec is invalid; otherwise trap returns true.


SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process

Das Signal 1 (SIGHUP) wird abgefangen und der entsprechende Befehl (in diesem Fall 'nichts') ausgeführt. Somit erreicht das Signal nie den gestarteten Prozess und dieser Beendet sich nicht.
slickwilly2000
Interessierter
Interessierter
Beiträge: 56
Registriert: Dienstag 9. April 2002, 20:03

Beitrag von slickwilly2000 »

Prima!

Danke, daß einem hier so schnell geholfen wird.