Come posso riprendere un lavoro interrotto in Linux? Stavo usando emacs e ho premuto accidentalmente ctrl-z che mi ha riportato alla console. Lo vedo quando scrivo "lavori"
[*****]$ jobs
[1]+ Stopped emacs test_queue.cpp
Come posso riprendere un lavoro interrotto in Linux? Stavo usando emacs e ho premuto accidentalmente ctrl-z che mi ha riportato alla console. Lo vedo quando scrivo "lavori"
[*****]$ jobs
[1]+ Stopped emacs test_queue.cpp
Risposte:
I comandi generali di controllo dei lavori in Linux sono:
Sono praticamente tutti quanti. Nota la% davanti al numero del lavoro nei comandi: questo è ciò che dice a kill che stai parlando di lavori e non di processi.
fg
e un Ctrl-C
;)
Puoi anche digitare %<process_name>
; cioè, premi Ctrl-Z in emacs, quindi puoi digitare %emacs
nella console e riportarlo in primo piano.
Solo per aggiungere alle altre risposte, bash ti consente di saltare il fg
se specifichi un numero di lavoro.
Ad esempio, questi sono equivalenti e riprendono l'ultimo lavoro:
%
%%
fg
fg %
Questi riprendono il lavoro n. 4:
%4
fg 4
fg
di %
.
%
è fantastico, grazie! Come dattilografo, trovo fg
molto irritante (stesso dito). Ma anche così cd
.
bg %
o solo % &
.
Se non è stato avviato dal terminale corrente, utilizzare ps aux | grep <process name>
per trovare il numero di processo (pid), quindi riprenderlo con:
kill -SIGCONT <pid>
(Nonostante il nome, kill
è semplicemente uno strumento per inviare un segnale al processo, consentendo ai processi di comunicare tra loro. Un "segnale di interruzione" è solo uno dei molti segnali standard.)
Suggerimento bonus: avvolgi il primo carattere del nome del processo []
per evitare che il grep
comando stesso compaia nei risultati. ad esempio per trovare il emacs
processo, utilizzareps aux | grep [e]macs
fg
?
Ctrl-z
digita i tuoi comandi e poi riprendi. Ovviamente puoi eseguire i comandi senza lasciare Vim tramite il:!
comando ed