Controle de Execução - ps, kill
Um processo é um programa em estado de execução.
Assim, quando mais de um usuário está executando um determinado programa, existe um processo sendo executado para cada usuário que abriu aquele programa.
O shell (interpretador de comandos do Linux - por exemplo) é um programa que constantemente está sendo executado por mais de um usuário, e algumas vezes é executado mais de uma vez por um mesmo usuário (em um ambiente gráfico de janelas, por exemplo).
O controle de execução de processos é outro recurso poderoso do UNIX. Este recurso permite colocar em execução um número praticamente ilimitado de programas em execução a partir de um único shell. Além disso, processos demorados podem ser deixados em estado de background (segundo plano), permitindo ao usuário encerrar sua sessão UNIX para então analisar os resultados da execução na próxima vez que se ‘logar’ no sistema.
Depois de definir o que seria um processo, agora a gente deve saber como listar os processos que estão em execução no sistema.
Isso é realizado por meio do comando chamado: ps
O comando ps mostra o status dos processos em execução no sistema. Sem argumentos, o comando ps exibe informações somente dos processos associados ao terminal corrente. A saída do comando consiste de: process-id (PID), identificador do terminal, tempo de execução (acumulativo) e o nome do comando.
Veja a sintaxe comando:
· ps [-aelux]
Parâmetros
· -e: apresenta a linha de comando completa.
· -l: gera a saída em formato longo.
· -a: inclui informações sobre processos pertencentes a outros usuários.
· -u: produz saída orientada a usuário.
· -x: inclui processos não associados a terminais.
Exemplo de uso:
ps -aux
Este comando exibirá todos os processos do usuário logado no sistema incluindo informações sobre processos pertencentes a outros usuários e também os processos não associados a terminais.
Até aqui vimos somente como listar os processos do sistema que pode estar relacionado ou não ao usuário logado no sistema. Agora vamos para uma parte mais interessante que é: como cancelar um processo nos sistemas GNU.
Cancelando Processos – kill (ou simplesmente encerrando o processo)
Se, por algum motivo, um usuário quiser cancelar um processo que lhe pertença, o comando kill fará o trabalho. Em geral, utiliza-se o comando kill para cancelar processos que aparentemente “travaram” e não conseguem terminar sua execução normalmente, ou ainda, para processos que não respondem ao CTRL+C para cancelamento de execução. Somente o superusuário pode “matar” processos de outros usuários. Nos sistemas Windowns quando isso acontece a gente faz esse trabalho pelo o gerenciador de tarefas dos sistemas.
Vejamos a sintaxe do comando:
· kill [-sinal] pid ...
· kill -l
em que:
· sinal: se este parâmetro não for especificado, o comando kill envia o sinal 15 (terminate) para os processos especificados pelo parâmetro pid. Se um nome de sinal ou um número precedido de ‘-’ é dado, este é enviado ao invés do sinal TERM (terminate). Quando deseja-se cancelar um processo que não responde ao kill padrão (sinal 15), utiliza-se o sinal 9 (KILL).
· pid: o parâmetro pid especifica o process-id correspondente ao processo que se deseja enviar um sinal. Para descobrir o PID de um processo, basta utilizar o comando ps e olhar na coluna PID o número correspondente ao processo desejado.
· -l: invocando kill com a opção ‘-l’, é apresentada a lista dos nomes de sinais aceitos pelo comando.
Exemplo de uso:
kill -9 4450
o tempo estiver sobrando.
Por hoje é só. poderei estar fazendo uma revisão neste post quando
Espero que as informações aqui sejam úteis para alguém, e sempre será...
Bons estudos para todos!!!
Até o próximo!!!!!
Nenhum comentário:
Postar um comentário