Wie schicke ich einen Prozess nach fg in Linux richtig in den Hintergrund

309
Cadmos

In meinem Remote-Terminal habe ich den folgenden laufenden Linux-Prozess in den Hintergrund gestellt

dd if=/dev/sda3 | gzip -1 - | pv | ssh user@.rsync.net dd of=image.gzim

  • Ctrl+Z
  • bg
  • disown pid1 pid2 pid3 pid4(4, pidsda es sich um 4 Befehle in Folge handelt, bei denen jeder zum nächsten leitet)

Dann (ohne die aktuelle SSH-Terminalsitzung noch verlassen zu haben), brachte ich es mit in den Vordergrund fgund ich sehe es läuft.


1. Wie bringe ich fgden Prozess (Job) in den Hintergrund zurück?

Ich fürchte, dass Ctrl+ Zeinen zweiten Hintergrund oder Job für den bereits im Hintergrund befindlichen Prozess erstellt oder Ctrl+ Csowohl den fgBildschirm als auch den Prozess selbst beendet.

2. Wäre es auch möglich, fgdasselbe joberneut auszuführen und in den Vordergrund zu bringen, wenn ich die Verbindung von der Gegenstelle trenne und sie nach einer Weile wieder öffne?

3
Sie "verleugnen" es und dann können Sie "fg"? Welche Schale ist das? Kamil Maciorowski vor 5 Jahren 0
Ja, ich kann es "fg", weil ich mich immer noch nicht von derselben SSH-Sitzung getrennt habe, in der ich das "bg" des Prozesses gestartet habe. Die zweite Frage hat damit zu tun. | `GNU bash, Version 4.1.2 (2) -freigabe (x86_64-redhat-linux-gnu)` Cadmos vor 5 Jahren 0
Seltsam. Dies unterscheidet sich sehr von Bash 4.3.48 und dem, was ich über Jobs weiß. Ich "lehne" einen ganzen Job ab (auch wenn nur eine PID angegeben wird, die zur Pipe des Jobs gehört). Danach steht es nicht mehr auf der Jobliste, also kann ich es nicht "fg". Deine Erfahrung ist anders, also muss es etwas geben, was ich nicht weiß. Kamil Maciorowski vor 5 Jahren 0

0 Antworten auf die Frage