Wie kann ich einen gestoppten Job unter Linux fortsetzen?
Wie kann ich einen gestoppten Job unter Linux fortsetzen? Ich habe Emacs verwendet und versehentlich Strg-z gedrückt, was mich zurück zur Konsole gesprengt hat. Ich kann es sehen, wenn ich 'jobs'
[*****]$ jobs
[1]+ Stopped emacs test_queue.cpp
5 answers
Der Befehl fg
ist das, was Sie verwenden möchten. Sie können ihm auch eine Jobnummer geben, wenn mehr als ein angehaltener Job vorhanden ist.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-04-08 09:39:38
Die allgemeinen Befehle zur Jobsteuerung unter Linux lauten:
- jobs - Liste der aktuellen Jobs
- fg - Setzen Sie den nächsten Job in der Warteschlange fort
- fg %[Zahl] - Job fortsetzen [Zahl]
- bg - Schiebe den nächsten Job in der Warteschlange in den Hintergrund
- bg %[number] - Schieben Sie den Job [number] in den Hintergrund
- kill %[number] - Tötet den job nummeriert [Anzahl]
- kill [- signal] %[Zahl] - Senden Sie das Signal [Signal] an die Auftragsnummer [Zahl]
- verleugnen %[number] - verleugnen der Prozess(nicht mehr terminal-Besitzer), so wird der Befehl lebt auch nach dem schließen des Terminals.
Das sind so ziemlich alle. Beachten Sie die % infront der Auftragsnummer in den Befehlen - dies sagt Ihnen, dass Sie über Jobs und nicht über Prozesse sprechen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-04-16 03:27:17
Sie können auch %<process_name>
; dh Sie drücken Strg-Z in Emacs, dann können Sie %emacs
in die Konsole eingeben und in den Vordergrund bringen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-08-26 21:04:40
Nur um die anderen Antworten hinzuzufügen, können Sie mit bash die fg
überspringen, wenn Sie eine Jobnummer angeben.
Zum Beispiel sind diese gleichwertig und setzen den neuesten Job fort:
%
%%
fg
fg %
Diese Lebenslauf job #4:
%4
fg 4
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-04-08 14:03:36
Wenn Sie es nicht vom aktuellen Terminal aus gestartet haben, suchen Sie mit ps aux | grep <process name>
die Prozessnummer (pid) und setzen Sie sie mit:
kill -SIGCONT <pid>
(Trotz des Namens ist kill
einfach ein Werkzeug, um ein Signal an den Prozess zu senden, sodass Prozesse miteinander kommunizieren können. Ein "Kill-Signal" ist nur eines von vielen Standardsignalen.)
Bonustipp: Wickeln Sie das erste Zeichen des Prozessnamens mit []
, um zu verhindern, dass der Befehl grep
selbst in den Ergebnissen erscheint. zB um emacs
Prozess zu finden, benutze ps aux | grep [e]macs
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-02-16 11:11:28