Processos no Linux
Este artigo é voltado para aqueles que não possuem conhecimento, ou apenas o conhecimento básico, sobre processos no GNU/Linux. O trabalho com esta licença foi identificado no domínio público, para que qualquer pessoa pode usar esta obra para qualquer fim, sem restrições.
Parte 4: Processos em background
Agora que já temos uma base do que são processos e como obter informações sobre eles, vamos falar sobre como executar um programa em background.
Quando rodamos um comando no terminal, ele é executado em primeiro plano (foreground), ou seja, a Shell fica travada até o fim da execução do comando. Geralmente, os comandos rodam de forma rápida e a Shell é logo liberada para podermos executar mais comandos. Mas, supondo que queiramos abrir um editor de texto gráfico pela Shell e queremos continuar fazendo uso dela. O que fazer?
Para ilustrar melhor, utilizarei o Leafpad. Como é possível ver na imagem abaixo, quando executo o programa pelo terminal, ele não permite com que execute novos comandos. Todavia, esse problema pode ser solucionado se colocarmos um "&" logo no fim do comando. A imagem abaixo mostra o Leafpad aberto de um lado e o terminal com a Shell livre para receber novos comandos. Para conferir os processos que estão rodando em background no terminal, execute o seguinte comando. Podemos ver que existe apenas esse comando rodando no terminal. Logo após o número do programa que está rodando temos o seu PID e o status, nesse caso está Running (rodando). E no fim da linha temos o comando que foi executado.
Para matar o processo, você pode fechar a janela do Leafpad ou executar um "kill" no seu terminal.
Quando rodamos um comando no terminal, ele é executado em primeiro plano (foreground), ou seja, a Shell fica travada até o fim da execução do comando. Geralmente, os comandos rodam de forma rápida e a Shell é logo liberada para podermos executar mais comandos. Mas, supondo que queiramos abrir um editor de texto gráfico pela Shell e queremos continuar fazendo uso dela. O que fazer?
Para ilustrar melhor, utilizarei o Leafpad. Como é possível ver na imagem abaixo, quando executo o programa pelo terminal, ele não permite com que execute novos comandos. Todavia, esse problema pode ser solucionado se colocarmos um "&" logo no fim do comando. A imagem abaixo mostra o Leafpad aberto de um lado e o terminal com a Shell livre para receber novos comandos. Para conferir os processos que estão rodando em background no terminal, execute o seguinte comando. Podemos ver que existe apenas esse comando rodando no terminal. Logo após o número do programa que está rodando temos o seu PID e o status, nesse caso está Running (rodando). E no fim da linha temos o comando que foi executado.
Para matar o processo, você pode fechar a janela do Leafpad ou executar um "kill" no seu terminal.
Muito fácil de entender.