"ctrl+z" laufenden Prozess in background?

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

luddi

Benutzer
Sehr erfahren
Registriert
05. Sep. 2012
Beiträge
3.313
Reaktionspunkte
639
Punkte
174
Ist die Eingabe "ctrl+z" nachdem ein Kommando abgesetzt wurde (der Prozess wird weiter ausgeführt) möglich? Bei mir jedenfalls funktioniert das nicht. Gibt es eine Möglichkeit den laufenden Prozess zu pausieren und ihn in den background zu versetzten?

Gruß
luddi
 
Ich verstehe Deine Frage nicht ganz. Wenn Du einen Prozess normal startest, ihn also nicht per folgendem & in den Hintergrund legst, und ihn mittels ctrl-z pausierst, dann kannst Du ihn durch die Eingabe von bg in den Hintergrund legen und per fg wieder in den Vordergrund.
 
Ich vermute du hast es richtig verstanden.
Ich setzte einen Befehl ab, der z.B. etwas Zeit in Anspruch nimmt. Und das ganze führe ich aus ohne das Ampersand & am Ende damit der Prozess nicht schon von vornherein in den Background gelegt wird.
Schicke ich mit der Tastatur "ctrl+z" an das Terminal passiert hier leider nichts.
Nun hätte ich an dieser Stelle vom Terminal folgende ausgabe erwartet:
Rich (BBCode):
[1]+  Stopped <COMMAND>
...und letztenendes wie du schon beschreibst diesen angehaltenen Prozess mit "bg" in den background legen.

Aber ich bekomme nicht angezeigt dass der Prozess angehalten wurde.
An was kann das liegen?

Meine Umgebung ist wie folgt:
DSM 5.0-4493 Update 3
Client mit Terminal: Mac OS X
verbunden per SSH (built-in shell "ash")

luddi
 
Es gibt Prozesse, die Du nicht per ctrl-z pausieren kannst. Hintergrund kann ich nicht erklären.
 
Aber ist das nur auf der Syno so? Denn die gleichen Befehle (es handelt sich z.B. in dem konkreten Fall um scp und tar) kann ich auf Mac OS im Terminal mit "ctrl+z" pausieren, fortsetzen, in den background legen und wieder in den forground holen. Recht seltsam warum das bei mir nicht auf der Disksation klappt.
 
Stimmt, aber bedenke bitte, dass es sich nicht um die gleichen Binaries handelt. Wer weiß, welche Sourcen hier auf welche Weise compiliert wurden. Aber vielleicht kann hier jemand den Hintergrund aufklären.
 
Ja da hast du wohl recht, es ist eine sehr vereinfachte Konsole bis auf die wichtigsten binaries. Prinzipiell kann man das wichtigste ausführen. Interessant ist nur, dass ich dieses Verhalten für mich persönlich das erste mal auf der Konsole in Erfahrung bringen konnte.
 
Und man merkt Dir an, dass Du nicht das erste Mal auf einer Unix-Konsole gearbeitet hast. :)
 
Ich hab grad mal mit der Syno und einem Raspberry PI getestet.
Der PI verhält sich wie erwartet, z.B. kann ein "sleep 10" mit ^Z angehalten und "bg" bzw. "fg" im Hintergrund bzw. Vordergrund fortgesetzt werden.
Die Syno reagiert nicht auf ^Z, obwohl laut "stty -a" ^Z genauso belegt ist. bg und fg kennt die Syno nicht.
 
Danke :) Auch ich bin neugierig und möchte mein(e) Wissen/Erfahrungen erweitern und die daraus resultierenden Erkenntnisse so weit es geht sinnvoll für mich nutzen und auch gerne an andere weiter geben.

Ich zitiere an dieser Stelle...
Albert Einstein schrieb:
Holzhacken ist deshalb so beliebt, weil man bei dieser Tätigkeit den Erfolg sofort sieht.
Ich persönlich möchte mehr als nur Holzhacken! :D

Gruß
luddi
 
...mit der Syno und einem Raspberry PI getestet.
...obwohl laut "stty -a" ^Z genauso belegt ist. bg und fg kennt die Syno nicht.

Vielen Dank für dein Aufwand, dies an diser Stelle in deiner Umgebung getestet zu haben.

Gruß
luddi
 
Zuletzt bearbeitet:
Hallo,
das liegt an der eingeschränkten Version der Shell in der busybox. Mit einer bash als shell funktioniert es.
Rich (BBCode):
DS411plusII> bash
bash-3.2# sleep 20
^Z
[1]+  Stopped                 sleep 20
bash-3.2# bg
[1]+ sleep 20 &
bash-3.2# fg
sleep 20
bash-3.2#

Gruß Götz
 
Und die bash kann ich vermutlich über ipkg installieren?

Gruß
luddi
 
richtig.

Gruß Götz
 
Ja, genau.
 
Gesagt, getan!

Rich (BBCode):
~ # ipkg install bash
Installing bash (3.2.49-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/bash_3.2.49-1_i686.ipk
Installing readline (6.1-2) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/readline_6.1-2_i686.ipk
Configuring bash
Configuring readline
Successfully terminated.
~ # HOSTNAME> bash
bash-3.2# sleep 20
^Z
[1]+  Stopped                 sleep 20
bash-3.2# bg
[1]+ sleep 20 &
bash-3.2# fg
sleep 20
bash-3.2#

Danke für eure Unterstützung!

Gruß
luddi
 
das liegt an der eingeschränkten Version der Shell in der busybox. Mit einer bash als shell funktioniert es.

Natürlich *an den Kopf klatsch*, die Jobcontrol ist ja Sache der Shell. Auch von mir ein Dank!
 
Jo - mit bash geht's.
Ich würde aber trotzdem nicht die bash als Default-Shell hinterlegen, sondern eher bei Bedarf verwenden.
 
Das stimmt. Die ash hat auch ihre Qualitäten, vor allem geringen Speicherbedarf. Es hat ja schon einen Grund, warum sie u.a. im NAS-Bereich so verbreitet ist.
 
Ich werde es im Hinterkopf behalten und für mich bleibt auch die ash Standard. Nur für den Fall dass ich andere Funktionen benötige werde ich dann auf die bash wechseln.

Gruß
luddi
 
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