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.
fge un Ctrl-C;)
Puoi anche digitare %<process_name>; cioè, premi Ctrl-Z in emacs, quindi puoi digitare %emacsnella console e riportarlo in primo piano.
Solo per aggiungere alle altre risposte, bash ti consente di saltare il fgse 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
fgdi %.
%è fantastico, grazie! Come dattilografo, trovo fgmolto 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 grepcomando stesso compaia nei risultati. ad esempio per trovare il emacsprocesso, utilizzareps aux | grep [e]macs
fg?
Ctrl-zdigita i tuoi comandi e poi riprendi. Ovviamente puoi eseguire i comandi senza lasciare Vim tramite il:!comando ed