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

Programm auf entfernten PC laufen lassen

Kurt M

Hacker
Hallo,

ich möchte auf einem externen PC ein Programm starten und laufen lassen.
Dazu logge ich mich mit ssh ein, und starte das Programm dort mit
./programm &
danach läuft es.
Wenn ich mich jetzt wieder auslogge, dann bleibt die Konsole hängen. Wenn ich die Konsole gewaltsam schliesse, dann läuft das Programm trotzdem weiter, auch wenn es keinen zugehörigen user mehr hat.

Soweit so gut, nur denke ich, dass das nicht die feine Art ist wie ich das mache. Wie wäre es besser um ein Programm auf einem entfernten PC dauerhaft laufen zu lassen ohne dass man eingeloggt ist ? (In dem Fall handelt es sich um einen V-Server).
 

nbkr

Guru
Dafür gibts den Befehl nohup oder auch screen.
nohup verhindert das ein Programm auf den "HangUp" Befehl reagiert den es normalerweise beim Ausloggen des Users bekommt.

Anwendung:
nohup programm &

Screen ist die deluxe Version von nohup. Damit kann man eine komplette Sitzung "detachen" also abhängen so das es die komplette sitzung weiterläuft auch wenn sich der User ausloggt. Das schöne an screen ist das man die Sitzung naträglich wie "atachen" also holen kann um mal zu sehen wie es läuft.
 

Nukem36

Hacker
High!

etwas komplexer von der Einrichtung, aber sehr schön in der Nutzung ist rexec. Der Rechner. auf dem ein pgm laufen soll, muß rexecd laufen haben. Auf Deinem lokalen rechner setzt Du den Befehl z.B. wie folgt ab:

rexec "ls -al" kiste.mit.rexec.linnet

Die Ausgaben des Kommandos siehst Du direkt lokal an Deiner Konsole

Nukem36
 

Nukem36

Hacker
@rolle:

Leider ist bei rexec nichts verschlüsselt! Man sollte es also nur im lokalen Netz einsetzen

Nukem36
 
OP
Kurt M

Kurt M

Hacker
Danke für die vielen Infos.
nohup ist meine Lösung geworden. Macht genau das was ich brauche, damit konnte ich am V-Server das Killerprogramm gegen die vielen SSH Einbruchsversuche starten.
 
Oben