Hintergrundprozesse

Moin,

ich möchte, wenn ich per ssh auf dem Rechner eingeloggt bin, auf diesem im xterm ein interaktives Programm starten, welches aber lange ohne Benutzereingaben auskommt. Deshalb würde ich gerne diesen Prozess in den Hintergrund schieben und mich zwischendurch ausloggen können. Später möchte ich mich erneut einloggen und ggf. den Prozeß wieder auf die dann vorhandene log-in Shell zurückholen.

Gibt es eine Methode, dieses zu erreichen? Meine desbezüglichen Versuche waren bis dato nicht sehr erfolgreich und scheiterten spätestens daran, daß die Prozesse beendet wurden, auch wenn sie im Hintergrund liefen, wenn ich mich ausloggte.

Genauer handelt es sich bei dem Programm, welches ich nutzen möchte, um die Programmiersprache IDL, welches im Prinzip interaktiv arbeitet, aber die Routinen, die ich darin aufrufe, brauchen eben ggf. sehr lange bis zur Beendigung.

\> cat /proc/version
Linux version 2.6.13-15.16-default (geeko@buildhost) (gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)) #1 Fri Jun 8 15:35:39 UTC 2007
\> bash --version
GNU bash, version 3.00.16(1)-release (i586-suse-linux)

Beste Grüße,
Ingo

man nohup
man jobs
man bg
man fg

Je nach Unixsystem werden beim Logout Prozesse gekillt.

Moien

Hat es eine graphische Oberfläche oderläuft esnur auf Console ?

Wenn es nur auf Console läuft hilft screen (zuerst die Anleitung lesensonst kommt man da nie wieder raus). Bei graphischen geht es u.U. über einen VNC-Server.

cu

Moien

Hat es eine graphische Oberfläche oderläuft esnur auf Console

Es kommt mit einer Darstellung im xterm aus, ähnlich bspw. wie vi.

Wenn es nur auf Console läuft hilft screen (zuerst die
Anleitung lesensonst kommt man da nie wieder raus). Bei
graphischen geht es u.U. über einen VNC-Server.

Einen VNC bekomme ich durch die Firewall meines Instituts nicht
durch, aber ohne Grafik komme ich aus.

Screen hört sich wie etwas an (bzw. liest sich), was mir weiterhelfen
könnte. Ich werde 'mal gucken.

Danke & Gruß,
Ingo

Mit bg wird nach meiner Erfahrung (oder wenn ich den
Vordergrundprozess mit Strg+Z in den Hintergrund drück) beim logout
gekillt.

Nohup liest sich vielversprechend (kannte ich bis dato nicht), und
ich muß 'mal gucken, ob ich damit zu Erfolg komme.

Danke für die Anregungen.

Gruß,
Ingo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moien

Nohup liest sich vielversprechend (kannte ich bis dato nicht),
und
ich muß 'mal gucken, ob ich damit zu Erfolg komme.

Es wesentlich einfacher zu benutzen als screen, hat aber 2 Nachteile: man kann das Programm später nicht mehr interaktiv nutzen und es zerhaut oft die Darstellung.

cu

Das kann ich nicht bestaetigen. In einem screen gestartete Programme kann man jederzeit wieder nutzen (auch „Interaktiv“). Mit der Darstellung kommt es darauf an wie die (Consolen)Oberflaeche des Programms programmiert ist. Bei den meisten jedoch keine Probleme.

Wer das Programm nicht mehr im Vordergrund benoetigt, kann auch dtach benutzen. Das ist ein Programm welches die gleiche Funktionalitaet wie screen bereitstellt, jedoch nur ein Programm startet und gleich detached. (also in etwa gleich mit screen -d -m)
http://dtach.sourceforge.net/

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moien

Nohup liest sich vielversprechend (kannte ich bis dato nicht),
und
ich muß 'mal gucken, ob ich damit zu Erfolg komme.

Es wesentlich einfacher zu benutzen als screen, hat aber 2
Nachteile: man kann das Programm später nicht mehr interaktiv
nutzen und es zerhaut oft die Darstellung.

Das kann ich nicht bestaetigen. In einem screen gestartete

Ich bezog mich auf nohup.

Wer das Programm nicht mehr im Vordergrund benoetigt, kann
auch dtach benutzen. Das ist ein Programm welches die gleiche
Funktionalitaet wie screen bereitstellt, jedoch nur ein
Programm startet und gleich detached. (also in etwa gleich mit
screen -d -m)

Und was genau ist der Vorteil im Vergleich zu nohup ?

cu