it-swarm.com.de

Wenn Sie ^ Z von einem Prozess, wird es "gestoppt". Wie schaltest du wieder ein?

Ich habe versehentlich meinen telnet Prozess "gestoppt". Jetzt kann ich weder "zurückschalten" noch töten "(es reagiert nicht auf kill 92929, Wobei 92929 die Prozess-ID ist.)

Meine Frage ist also, wenn Sie einen gestoppten Prozess in der Linux-Befehlszeile haben, wie können Sie wieder dorthin wechseln oder ihn beenden, ohne auf kill -9 Zurückgreifen zu müssen?

90
bobobobo

Am einfachsten ist es, fg auszuführen, um es in den Vordergrund zu bringen:

$ help fg
fg: fg [job_spec]
    Move job to the foreground.

    Place the job identified by JOB_SPEC in the foreground, making it the
    current job.  If JOB_SPEC is not present, the Shell's notion of the
    current job is used.

    Exit Status:
    Status of command placed in foreground, or failure if an error occurs.

Alternativ können Sie bg ausführen, um es im Hintergrund fortzusetzen:

$ help bg
bg: bg [job_spec ...]
    Move jobs to the background.

    Place the jobs identified by each JOB_SPEC in the background, as if they
    had been started with `&'.  If JOB_SPEC is not present, the Shell's notion
    of the current job is used.

    Exit Status:
    Returns success unless job control is not enabled or an error occurs.

Wenn Sie gerade getroffen haben CtrlZUm den Job zurückzubringen, führen Sie einfach fg ohne Argumente aus.

103
terdon

Sie können jobs verwenden, um den angehaltenen Prozess aufzulisten. Nehmen Sie das Beispiel. Beginnen Sie mit einem Prozess:

$ sleep 3000  

Dann unterbrechen Sie den Prozess:

^Z
[1]+  Stopped                 sleep 3000

Sie können den Prozess auflisten:

$ jobs
[1]+  Stopped                 sleep 3000

und bringen Sie es wieder in den Vordergrund:

$ fg %1
sleep 3000

Das %1 entspricht dem [1] mit dem Befehl jobs aufgelistet.

50
Luis

Sie sollten in der Lage sein, einen angehaltenen Prozess neu zu starten, indem Sie den Befehl kill verwenden, um dem Prozess das Signal CONTINUE über die Befehlszeile zu senden.

kill -CONT 92929
20
Geeb