Fiquei curioso e confuso com o que exatamente é o comportamento de CTRl + Z.
Sei que, se um processo está sendo executado em primeiro plano e pressionamos ctrl + z, ele passa para o segundo plano.
Mas o que exatamente acontece.
Ele continua fazendo seu trabalho ou fica suspenso e parado no ponto em que estava.
E se for interrompido nesse ponto, e qual é o significado do trabalho em segundo plano.
Respostas:
Um "trabalho em segundo plano" é apenas um que não está interagindo com o usuário - ele não controla o tty e apenas faz o que faz (geralmente silenciosamente). Um trabalho em primeiro plano é o inverso, ele detém o controle do tty para interagir com o usuário.
O Control-Z suspende o processo em primeiro plano mais recente (o último processo a interagir com o tty) (a menos que esse processo tome medidas para ignorar a suspensão, como normalmente fazem os shells). Isso geralmente o levará de volta ao seu shell, a partir do qual geralmente você pode digitar o comando
bg
para mover o processo suspenso para o segundo plano (deixando que continue a ser executado) oufg
para trazê-lo de volta ao primeiro plano.fonte
fg
primeiro identificar qual trabalho, emitindojobs
então dizer se a sua% 1, em seguida, emitirfb %1
e processo vai se retomoufg %1
nãofb %1
Pressionar Ctrl + Z envia o
TSTP
sinal para o seu processo. Isso interrompe a execução (o kernel não agendará mais tempo de CPU para o processo) e o processo aguarda um CONT para continuar o processamento.Você pode emular / replicar isso via
kill -TSTP
ekill -CONT
(jákill
que enviará um sinal indicado ao seu processo, apesar do nome!)O shell tem a funcionalidade de 'segundo plano' o processo, mas esse é um relacionamento entre o shell e o processo. O processo em si realmente não tem o conceito de "plano de fundo" ou "primeiro plano".
Veja aqui para mais informações.
fonte
^Z
envia SIGTSTP, não SIGSTOPConsidere este comando, que leva aprox. 4,5 segundos no meu laptop:
Quando você pressiona Ctrl+ Z, o cálculo será suspenso. Você tem a opção de retomar o cálculo em primeiro plano
fg
ou retomar em segundo plano usandobg
. Este último é mais ou menos equivalente à execução:fonte
Um processo é suspenso e parado ao pressionar ctrl + z. Com fg, você pode mover o trabalho suspenso para o primeiro plano; com bg, você pode executá-lo em segundo plano.
Veja http://linuxreviews.org/beginner/jobs/ para mais informações.
fonte