Escolar Documentos
Profissional Documentos
Cultura Documentos
Editar Voc est aqui: TWiki > Web GrupoLinux > LinuxEssencialFinal > LicaoControlandoProcessos
Anexar
Impresso
Web GrupoLinux Criar Novo Tpico ndice Busca Alteraes Notificaes Estatsticas Preferncias Webs BrOffice EaD GrupoJava GrupoLinux GrupoLogica GrupoWeb Main Ruby SGBD SO Sandbox TWiki Wikeditora WikiEdu
Quando o usurio solicita um aplicativo, o shell informa para o sistema operacional das intenes do usurio em utilizar determinado aplicativo. Ento, solicitado ao kernel que o mesmo seja localizado no computador. O principal meio de armazenamento para os computadores so os HD's (Hard Disk). To logo as informaes solicitadas so encontradas, o HD as repassa para a memria de acesso aleatrio (RAM). De posse das informaes necessrias para executar o processo, o escalonador de processos espera a vez de levar essas informaes ao processador, para a sua execuo. Isso um processo, ou seja, uma instncia de um programa localizado no HD. Esses processos possuem informaes tais como nmero referente sua solicitao - que diferente para cada pedido -, hora do pedido, nome do usurio solicitante, arquivos que esse processo est escrevendo ou lendo, possveis bibliotecas que esse processo est utilizando.
As informaes entre a RAM e o processador podem ser encontradas em vrios estados, podendo o processo estar rodando no processador, esperando por algum dado necessrio para continuar sua execuo(em swap), residente na memria, parado, em depurao (por depurao entende-se o tratamento que dado para as informaes na tentativa de recuper-las). O conjunto de todas essas informaes chamado de tabela de processos. Nessa tabela encontram-se todas as informaes apresentadas acima, alm de informar o estado do processo no computador. Utilitrios que manipulam essa tabela esto disponveis no GNU/Linux. Dentre as possibilidades esto a suspenso dos processos em execuo, a continuao de algum processo que estava suspenso ou mesmo a finalizao precoce de algum processo mal comportado.
10.2 ps
O comando ps exibe os processos se utilizando das informaes existentes na tabela de processos. Dentre as opes disponveis, esto aquelas que controlam os tipos de processos a serem exibidos, bem como os diferentes tipos de informaes presentes. Sintaxe:
ps [opes] [txx]
sintectus.com//LicaoControlandoPr
1/8
03/03/2011
Opes:
a - apresenta os processos do console atual, independentemente do usurio que os executou; c - apresenta somente o principal nome do processo; e - apresenta as variveis de ambiente a qual o processo foi solicitado; f - apresenta o nome em estrutura de rvore; l - formato longo, apresenta todas as informaes da tabela de processos; u - apresenta o resultado em formato de usurio, ou seja, mais amigvel; x - apresenta os processos independe de seu terminal. Exemplo:
$ps a
STAT S S R
No exemplo acima foi utilizada a opo a , que listou as informaes existentes na tabela de processos do console atual. Nesse caso o console foi inicializado pelo super-usurio, logo aps, a inicializao do shell de comando utilizado (no exemplo o bash) e o comando ps, que sempre gera um valor de processo na sua chamada. Tambm observvel a apresentao de novas palavras, tais como PID STAT TIME e COMMAND, que so campos pertinentes tabela de processos do usurio. Existem mais colunas, conforme apresentado abaixo: PID - um nmero nico que o processo recebe ao solicitar o processador; TTY - console que chamou o processo; STAT - Informa a situao em que se encontra o processo, podendo ele estar em execuo (R), aguardando (S), parado ou em depurao (T), em estado zumbi (Z), aguardando sem interrupo (D). Estas so as informaes que pertencem ao primeiro campo, j no segundo podemos encontrar detalhes sobre pginas residentes na memria (W), e para o terceiro campo podemos ter prioridade positiva (N) em seu valor; TIME - tempo atual de utilizao do processador; COMMAND - apresenta o nome do comando que foi solicitado; USER - nome do usurio solicitante; %CPU - porcentagem de uso da cpu; %MEM - porcentagem de uso da memria; RSS - quantidade de memria fsica utilizada durante o seu processo, o valor apresentado em Kbytes; START - hora do incio do processo. A visualizao de todas essas colunas pode ser feita utilizando o comando ps aux. Para maiores detalhes: man ps.
10.3 top
Muitas vezes somente o comando "ps" no conveniente o bastante para se monitorar o estado dos processos de um sistema. Isto porque o "ps" lista as informaes relativas ao
sintectus.com//LicaoControlandoPr
2/8
03/03/2011
10.4 kill
Um programa pode sofrer vrios tipos de intervenes, quando solicitado pelo usurio. Entre as principais destacam-se a atualizao e retirada do processo. Quando o usurio decide intervir na tabela de processos o comando "kill" que dever ser utilizado, ou seja, se um determinado programa demorar dar uma resposta o prprio usurio poder solicitar a sua parada e retirada do processador. essa solicitao dada o nome de sinal, que varia entre 64 opes para o usurio. Para list-los basta utilizar o comando 'kill -l'. Por padro o comando kill utiliza o sinal TERM (15) quando no especificado.
Sintaxe:
kill [opo] [pid]
Opo: -l - lista todas as opes de sinais - tanto o nome do sinal quanto o seu valor numrico -s - especifica o sinal a ser enviado de acordo com as opes listadas pelo comando -l pid - nmero de identificao do processo, a qual desejado enviar o sinal. Comandos mais comuns listados com a opo -l: matar o processo: -9 atualizar o processo: -1 Exemplo:
sintectus.com//LicaoControlandoPr
3/8
03/03/2011
LicaoControlandoProcessos < GrupoLi - antes de se utilizar o "kill" necessrio saber qual a identificao do processo em questo:
$ps auxc
PID
RSS
TIME COMMAND
0:00
0:02 firefox
Para este exemplo ser encerrado o browser firefox a partir da sua identificao de processo. Observao: veja detalhes das opes do comando "ps" no captulo referente.
$kill -9 1420
10.5 job
Jobs, ou tarefas, so processos que esto rodando no console atual, disparados pelo usurio atual. As tarefas, alm de seus nmeros de processo, tambm possuem um nmero prprio, utilizado como ndice nos comandos de manipulao de tarefas, mencionados a seguir. O comando "job" limita-se a listar as tarefas existentes. Sintaxe:
jobs [opo]
Opo: -l - apresenta junto com o valor do "job" o valor de identificao do processo, que foi dado na chamada do programa para ser rodado em segundo plano. Exemplo:
$jobs -l
[1]
1765 Running
firefox &
No exemplo dado, o valor do job foi apresentado entre colchetes. A coluna a seguir representa o valor do PID, A terceira coluna informa o estado do programa dentro do processador e a ltima, o nome do programa.
10.7 bg
sintectus.com//LicaoControlandoPr 4/8
03/03/2011
LicaoControlandoProcessos < GrupoLi bg a abreviao para background , e a funo principal deste comando de colocar os programas para rodarem em segundo plano.
Sintaxe:
bg %identificao_trabalho
onde identificao_trabalho o valor apresentado pelo comando jobs ou quando bg acionado para trazer o comando para foreground. Exemplo:
bg %2
O exemplo acima coloca o trabalho de nmero 2 em segundo plano. Ao executar um programa, pode ser desejvel coloc-lo imediatamente em segundo plano. Isso obtido atravs da seguinte sintaxe: Sintaxe:
programa &
Exemplo:
$xterm & [1] 1317
Nesse exemplo foi solicitado a abertura do xterm em background. Logo aps a solicitao apareceram dois valores e por ltimo foi devolvido o prompt de comando para o usurio. Os valores apresentados so um entre colchetes e outro sem colchetes. O valor entre colchetes representa o job (trabalho) ao qual esse programa est associado. Esse valor auto-incrementvel, e nico em uma determinada sesso em um determinado console. Esse o valor a ser utilizado em uma possvel chamada ao comando "fg". O segundo valor apresentado a identificao do processo ao qual esse programa pertence. O kill -9 pode enviar um sinal de parada do processo, e com isso terminar um programa. Com o segundo valor possvel parar o trabalho de processo em background. Mas ateno! O valor apresentado sem colchetes o "pid" para o background, assim que este terminar de processar, morrer automaticamente o processo e o programa solicitado poder ter um valor diferente do apresentado.
10.8 fg
Para trazer de volta a interatividade ao nosso editor de texto do exemplo anterior, utilizaramos o comando "fg", abreviao de foreground (viso superior, frente). Note que um programa em segundo plano pode at continuar gerando mensagens na tela, mas no consegue receber entrada de dados do usurio. O nmero de identificao da tarefa usada como argumento no comando "fg". Para ver as tarefas existentes em sua sesso, lembre-se do comando jobs. Sintaxe:
fg %x
ou
fg pid
sintectus.com//LicaoControlandoPr
5/8
03/03/2011
Exemplo:
ou
$firefox & [1] 1738 $fg 1738 firefox
Em ambos os exemplos foi solicitado o netscape em background (com a utilizao do "&"), com os valores [1] (jobs) e o 1738 (pid). No exemplo acima, o programa firefox foi colocado para rodar em foreground com o seu nmero identificador de tarefa. No segundo exemplo foi colocado para rodar com o pid dado para o background, lembrando-se que o pid apresentado ao colocar um programa para ser aberto em background poder ser diferente do pid dado ao mesmo programa depois de aberto.
10.10 nice
Sintaxe para o nice:
nice [prioridade] comando
Prioridade: -n - sendo que n o valor da prioridade a ser passada junto com o comando a ser executado
10.11 renice
Sintaxe para o renice:
renice [prioridade] [-p pid] [-g grupo] [-u usurio]
sintectus.com//LicaoControlandoPr
6/8
03/03/2011
LicaoControlandoProcessos < GrupoLi O valor da prioridade do renice pode variar entre -19 e 20, sendo que quanto menor o valor maior ser a sua prioridade.
Pid - o valor identificador do processo Grupo - utilize esta opo para alterar a prioridade de todos os processos executados por determinado grupo Usurio - utilize esta opo para alterar a prioridade de todos os processos executados por determinado usurio
Anterior Trilha B
Prximo
10.14 - Comentrios
Adicionar
LicaoForm Titulo LicaoAnterior NivelAcima LicaoPosterior Licenca DireitoAutoral Autoria PreRequisitos SoftwareUtilizado Objetivo OrdemPadrao TrilhaPadrao Exibir anexos Editar | Anexar | Impresso | Texto Puro | Referncias: Web, Global | Histrico: Explicar como feito o controle de processos. 10 B Controlando Processos LicaoLocalizandoArquivos LicaoLoginDesligamentoReinicializacaodoSistema LicaoCompactandoDescompactandoArquivos LicencaCreativeCommonsBySA ?
sintectus.com//LicaoControlandoPr
7/8
03/03/2011
Copyright 2003 - 2011, pelos autores colaboradores. Todo o contedo desta pgina pode ser utilizado segundo os termos da Licena Creative Commons: Atribuio, Uso no Comercial e Permanncia da Licena, salvo disposio em contrrio indicada de forma explcita no tpico correspondente.
sintectus.com//LicaoControlandoPr
8/8