No Linux, um trabalho refere -se a um processo iniciado e gerenciado pelo shell. Isso pode ser um comando único, um comando de shell longo e complexo, incluindo tubos e redirecionamentos, um executável ou um script. Cada trabalho no Linux é gerenciado atribuindo um IP de trabalho seqüencial associado a um processo específico.
Um conceito -chave para entender sobre os trabalhos do Linux é o seu status. Existem dois status principais para trabalhos Linux:
Trabalhos em primeiro plano
Um trabalho em primeiro plano refere -se a um comando ou um programa executado no shell e ocupa a sessão do terminal até que seja concluída. Um exemplo seria lançar um gerente de arquivo ou navegador no terminal
Por exemplo, a captura de tela a seguir mostra uma janela de terminal com um trabalho em primeiro plano.
Na imagem acima, o prompt de shell não está disponível até que a janela do Firefox feche.
Trabalhos de fundo
O oposto do primeiro plano são os trabalhos de fundo. Para iniciar um trabalho no shell como um trabalho de fundo, usamos o símbolo de e -res e (&). Usar isso diz ao shell para colocar quaisquer comandos vierem antes dos ampeiros e em segundo plano e mostre imediatamente o prompt do shell.
O exemplo abaixo mostra como colocar o trabalho do Firefox (no exemplo acima) em segundo plano.
Como você pode ver, o prompt de shell está agora disponível, apesar do Firefox ainda funcionar.
Você notará valores numéricos exibidos para trabalhos de fundo. O primeiro, indicado por colchetes ([]), mostra o ID do trabalho, enquanto o outro valor indica o PID do processo associado ao trabalho.
Como gerenciar trabalhos de fundo
O comando Jobs lida com o controle do trabalho. Isso permite que você veja os trabalhos em segundo plano.
Sudo Jobs
A execução do comando acima mostra os trabalhos em segundo plano, como mostrado abaixo:
Começando no lado esquerdo, temos o ID do trabalho.
Seguindo imediatamente após os colchetes está o sinal de mais (+) ou menos (-). O sinal de mais indica que este é o trabalho atual, enquanto o número menos mostra o próximo trabalho.
O próximo suporte mostra o estado do trabalho. Isso pode ser executado, parado, encerrado, feito ou saída com um código de status.
Finalmente, a última parte mostra o nome real do trabalho.
Mostrar empregos com pid
Para mostrar trabalhos em segundo plano com seus valores de PID correspondentes, usamos o sinalizador -l como:
empregos -l
Isso mostrará os trabalhos em segundo plano com seus valores de PID, como mostrado na imagem abaixo.
Trabalhos de fundo com saída
Suponha que tenhamos um emprego que queremos executar em segundo plano que despeja uma saída na tela. Por exemplo, no exemplo acima, coloquei o comando APT, que tem muita saída em segundo plano, sem estragar meu terminal.
Para fazer isso, você pode redirecionar a saída em /dev /null como:
sudo apt-get update> /dev /null &
Como trazer trabalho de fundo para primeiro plano
Podemos trazer trabalhos de fundo para o primeiro plano usando o comando FG. Por exemplo, para trazer o trabalho do Firefox com o ID do trabalho de 1 para o fundo, podemos fazer:
FG %1
Isso trará o trabalho para o primeiro plano como:
ubuntu@ubuntu20: ~ $ fg %1
Raposa de fogo
Opções de comando de empregos
O comando Jobs não tem muitas opções.
Já discutimos o -l para mostrar os trabalhos com seus IDs de processo.
Outras opções que você pode passar para o comando de trabalho incluem:
Como encerrar ou matar empregos
Podemos encerrar trabalhos usando o comando de matar seguido pelo ID do trabalho, uma substring ou o ID do processo.
Mate usando o ID do trabalho
Para matar um emprego no ID do trabalho, usamos o % seguido pelo valor de identificação como:
matar %%
Isso matará o trabalho atual; Isso é semelhante a %+.
Mate um emprego com uma substring
Matando um emprego com uma substring, prefixo a substring com %? seguido pelo valor da substring como:
matar %?Gnome-Calculator
OBSERVAÇÃO: Linux executa empregos simultaneamente. Isso significa que ele pula entre os trabalhos disponíveis até que eles completem. Portanto, encerrar uma sessão de terminal com empregos em execução terá encerrar todos os seus trabalhos.
Você não precisa se preocupar com isso se usar um multiplexador de terminal como tmux ou tela, pois você pode recolocá -lo.
Como matar parou de empregos
Para matarmos todos os empregos parados, precisamos unir dois comandos. O primeiro receberá os PIDs de todos os empregos parados, e o próximo matará todos os empregos fornecidos.
Para ver os empregos parados, usamos o comando
empregos -s
Este comando mostra todos os empregos parados.
Tendo isso, podemos obter os PIDs dos empregos parados e transmiti -los para matar o comando como:
sudo kill -9 'empregos -p -s'
Isso vai matar todos os empregos parados.
Conclusão
Este tutorial analisou os conceitos de controle de emprego no Linux e como obter informações sobre os empregos. É bom observar que o controle do trabalho pode não estar disponível dependendo da sua concha de escolha.
Obrigado pela leitura e conchas felizes.