• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

rsh im Hintergrund geht nicht

regexer

Advanced Hacker
Hallo,

wieder einmal etwas, dass ich nicht verstehe. Warum funkioniert der rsh im Hintergrund nicht! Beispiel:
Code:
host:user-> rsh host2 "/bin/date > /tmp/test"
host:user-> rsh host2 "cat /tmp/test"
Mon Mar 21 13:11:49 CET 2005
host:user-> rsh host2 "/bin/date > /tmp/test" &
[1] 27375
host:user-> 
[1] + Stopped (tty input)  rsh host2 "/bin/date > /tmp/test"
host:user-> rsh host2 "cat /tmp/test"
Mon Mar 21 13:12:09 CET 2005
host:user-> kill -9 27375
host:user-> 
[1] + Killed               rsh host2 "/bin/date > /tmp/test"
Das tolle ist: Offensichtlich wird der zweite rsh-Befehl ausgeführt. Der Prozess wird jedoch automatisch gestoppt, und man muss ihn zum Beenden killen. Warum?

Danke für Erklärungsversuche. Vielleicht habe ich Moment einfach ein Brett vor dem Kopf ...
 

nobbiew

Hacker
Nur mal so ein schnellschuss, aber auf welcher seite wird der Prozess in den Hintergrund gebracht? Am Remotehost o. am Localhost?
 
OP
regexer

regexer

Advanced Hacker
nobbiew schrieb:
Nur mal so ein schnellschuss, aber auf welcher seite wird der Prozess in den Hintergrund gebracht? Am Remotehost o. am Localhost?
Auf dem localhost soll der Prozess in den Hintergrund. Zuerst dachte ich auch, es würde an der Interpretation des & liegen. Aber auch mit Klammern bekommt man diesen Stop.
Code:
 ( rsh host2 "/bin/date > /tmp/test" ) &
...
 
OP
regexer

regexer

Advanced Hacker
snaewe schrieb:
Vielleicht
Code:
rsh -n ....
Bin überrascht! Es funktioniert!

Nur verstehe ich nicht ganz warum. Dieses Signal bekommt man (so habe ich es zumindest verstanden), wenn der im Hintergrund gestartete Prozess einen input verlangt. Ein klassiker wäre hier zum Beispiel:
Code:
touch asdf
chmod 000 asdf
rm asdf
rm: reguläre leere Datei (schreibgeschützt) »asdf« entfernen? y
Wenn man soetwas im Hintergrund startet, kriegt man auch das Stop-Signal:
Code:
( touch asdf; chmod 000 asdf; rm asdf) &
Nur: Warum wird im anfangs erwähnten Beispiel auf einmal ein input verlangt???
 

nobbiew

Hacker
Schau dir mal von der man-Page den Abschnitt Bugs an.

Da steht eindeutig, dass das auch passiert, wenn keine Eingabe erwartet wird.
 
OP
regexer

regexer

Advanced Hacker
nobbiew schrieb:
Schau dir mal von der man-Page den Abschnitt Bugs an.

Da steht eindeutig, dass das auch passiert, wenn keine Eingabe erwartet wird.
Hmmm. Ich hatte das auf die csh bezogen. Aber du hast recht. Das bezieht sich auf den rsh im Allgemeinen.

Interessant ist, das SCO-Unix das gleiche Problem hat, weswegen ich ursprünglich keinen Bug vermutete. Vielleicht haben die doch voneinander abgeschrieben ... :wink:
 
Oben