Wie kann ich per Telnet eine Aufgabe im Hintergrund laufen lassen?

Status
Für weitere Antworten geschlossen.

Christian72D

Benutzer
Mitglied seit
29. Apr 2010
Beiträge
715
Punkte für Reaktionen
12
Punkte
44
Ich hatte das schon mal gewusst aber ewig nicht benutzt, und da ich bis auf die DS nichts mit Linux zu tun habe weiß ich nicht mehr wie das ghet.

Es gab doch eine Möglichkeit einen Task im Hintergrund zu starten so daß nicht die ganze zeit der PC mit geöffneter Telnet Session laufen muss.

Wie ging das noch mal?
 

lanske

Benutzer
Mitglied seit
12. Sep 2012
Beiträge
128
Punkte für Reaktionen
0
Punkte
0
Etwas mehr Info als Du brauchtest, aber die wichtige Zeile ist hervorgehoben :D

screen muß natürlich installiert sein, sonst ggeht es nicht :eek:

screen -help
Use: screen [-opts] [cmd [args]]
or: screen -r [host.tty]

Options:
-a Force all capabilities into each window's termcap.
-A -[r|R] Adapt all windows to the new display width & height.
-c file Read configuration file instead of '.screenrc'.
-d (-r) Detach the elsewhere running screen (and reattach here).
-dmS name Start as daemon: Screen session in detached mode.
-D (-r) Detach and logout remote (and reattach here).
-D -RR Do whatever is needed to get a screen session.
-e xy Change command characters.
-f Flow control on, -fn = off, -fa = auto.
-h lines Set the size of the scrollback history buffer.
-i Interrupt output sooner when flow control is on.
-l Login mode on (update /var/run/utmp), -ln = off.
-list or -ls. Do nothing, just list our SockDir.
-L Turn on output logging.
-m ignore $STY variable, do create a new screen session.
-O Choose optimal output rather than exact vt100 emulation.
-p window Preselect the named window if it exists.
-q Quiet startup. Exits with non-zero return code if unsuccessful.
-r Reattach to a detached screen process.
-R Reattach if possible, otherwise start a new session.
-s shell Shell to execute rather than $SHELL.
-S sockname Name this session <pid>.sockname instead of <pid>.<tty>.<host>.
-t title Set title. (window's name).
-T term Use term as $TERM for windows, rather than "screen".
-U Tell screen to use UTF-8 encoding.
-v Print "Screen version 4.00.03 (FAU) 23-Oct-06".
-wipe Do nothing, just clean up SockDir.
-x Attach to a not detached screen. (Multi display mode).
-X Execute <cmd> as a screen command in the specified session.
 

borg2k

Benutzer
Mitglied seit
08. Mai 2012
Beiträge
1.789
Punkte für Reaktionen
0
Punkte
0
reicht da nicht ein & ans Ende des Befehls zu setzen?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
reicht da nicht ein & ans Ende des Befehls zu setzen?

solange man das Telnet-Fenster nicht schließt, würde das ausreichen

Alternativen zu 'screen':

(1) einen cronjob aufsetzen
(2) einen Skript als Dienst starten (/usr/syno/etc/rc.d-Verzeichnis)
(3) per IPKG den 'at' installieren und benutzen (wie unter Windows)
(4) die Beta 4.2 installieren ... da gibts es auch etwas zum Starten eigener Skripte

Itari
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.020
Punkte für Reaktionen
273
Punkte
393
Hallo,
(2) einen Skript als Dienst starten (/usr/syno/etc/rc.d-Verzeichnis)
ich empfehle lieber /usr/local/etc/rc.d, das Verzeichnis überlebt ein Firmwareupgrade.

Gruß Götz
 

Christian72D

Benutzer
Mitglied seit
29. Apr 2010
Beiträge
715
Punkte für Reaktionen
12
Punkte
44
solange man das Telnet-Fenster nicht schließt, würde das ausreichen
DAS ist mir auch klar.
Aber ich habe gestern die Platte gewechselt und spiele jetzt die alten Daten wieder auf.
Ich hatte die einzelnen Verzeichnisse gezipt, da finde ich es praktischer per Telnet das Archiv wieder auspacken zu lassen und dann die Session schließen zu können damit der PC nicht die ganze Zeit mitlaufen muss.

Und für eine einmalige Sache brauche ich ja keinen Cronjob.
 

Christian72D

Benutzer
Mitglied seit
29. Apr 2010
Beiträge
715
Punkte für Reaktionen
12
Punkte
44
Etwas mehr Info als Du brauchtest, aber die wichtige Zeile ist hervorgehoben :D

screen -help
Use: screen [-opts] [cmd [args]]
or: screen -r [host.tty]
Das was ich damals benutzt hatte war viel einfacher. Da konnte man später wieder eine telnet Session öffnen, mit dem entsprechenden befehl die Liste aller im Hintergrund laufenden Session ansehen und die passende auswählen (wenn es mehrere waren).
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.020
Punkte für Reaktionen
273
Punkte
393
Hallo,
nohup <BEFEHL> &

Gruß Götz
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat