You are on page 1of 6
Processos no LINUX ‘© que sao processos? ‘A detinicao de processo apresentada por Tanenbaum no lio Sistemas Operacionais = Projeto e implementacao’ ‘Aideia.chave aqui € que umprocesso e umtipo de atividade. Ele tem umprograma, ‘entrada, saida € um estado. Um unico processador pode ser comparthado entre varios [processos, com algum algoritmo de agendamento sendo utilzado para deferminar quando [Parar de trabalhar em um processo e servir a um diferente, Pense em um processo como a representacao de um programa em execucao utlizando ‘05 recursos do computador para realizar alguma tarefa, Um processo possui estados que definom o seu comportamento, sao oles: + execucao: 0 processo esta ativo utlizando a CPU e outros recursos, + pronto ou espera: 0 processo esta temporariamente parado permitindo ‘que outro processo execute na sua frente; “= bloqueado’ 0 processo esta parado aguardando a execucao de algum evento para voltar 20 estado de execucao. ‘Alem de possuir esses comportamentas, um processo e capaz de criar outros Brocassas. Quando fsso ocarre izes que Um processo © pal das ours rads por ‘Cada processo no Linux recebe um numero para sua identificacao conhecido, ‘por PID. Podemas ve-los com 0 camando ps s aux (© processo init ‘Quando inicializamos 0 Linux, 0 primeiro processo criado € 0 init, que e conhecido ‘como 0 pai de todos 0s outros. Depois de inicializar 0 ambiente grafico, quando abrimos o terminal, um processo e criado para controlar o terminal em questao. De forma semelhante, para ‘cada programa aberto tambem sera criado um processo correspondent. init e ‘esponsavel por inicializar todos eles e possul a identiicacao de numero 1 no sistema. Aldentificacao de processes ‘Como vimos, um processo ¢ identificado por seu PID (Process Identifier). Esso ‘numero ¢ dado pelo sistema para cada processo, cada PID e unico, entao voce nunca ‘vera dois ou mais processos fazendo uso do mesmo PID. Cada processo tambem possui um usuario dono, dessa forma, o sistema verifica ‘as permissoes e sabe qual usuario pode executar um determinado processo. A ‘dentficacao de donos e feita pelos numeros UID GID, ‘No Linux, todo usuario possul um numero de identificacao damesma forma que ‘0s processos. Esse numero @ conhecide por UID (User Identifier) @ o GID (Group Identifier). Verificando processos \Venficar e gerenciar processos ¢ uma tarefamuito importante, pois as vezes precisamos intetromper um processo a forca ou veriicar quais processos estao consumindo mais recursos no computador (CPU, memoria etc). \Veremos alguns comandos novos. Vamos comecar pelo comando ps, que serve ppara listar 05 processos em execucao ¢ obter informacoes como PID € UID. Execute 0 ps para obter a lista de processos do nosso usuario: Sps Assim como todas os comandos que vires alte agora, o ps tamber possui opcoes. \Veremos algumas delas: +: lista todos os processos existentes; “=F exibe 0 nome do usuario dono do proceso; ++ lista os processos que nao possuem relacao com o terminal; “=m exibe & quantidade memoria consumida por cada proceso Paramais opcoes man ps, a combinacaomais usada e ps aux — execute e veja a lista de processos em execucao. psaux USER PID %CPU 9%SMEM VSZ RSS TTY STAT START TIME COMMAND root 1.0.0.0 3.3516 1908 ? Ss 18:49 0:00 /sbin/init root 2 0.00.00 07S 18:49 0.00 [kthroadd] root 30.00.0002 18:49 0:00 [ksoftirg] root 5 0.00.00? S 18:49 0:00 [kworkar/] root 6 0.00.00? S 18:49 0:00 [migratio] root 7 0.0.0.000?5 18:49 0°00 [watchdog] root 8 0.00.00 0 ? S< 18:49 0:00 [cpuset] root 90.00.0000? S< 18:49 0:00 [khelper] root 10.0.0 0.0007 18:49 0.00 [kdevtmpf] Note que podemos ver o usuario dono de cada processo na primeira coluna USER. Em seguida temos 0 PID de cada processo, informacoes de consumo de CPU © momoria, outtas informiacoos como data hora de quando 0 processo foi inicializado, assim como o nome do processo. Podemos contar todos os processos em execucao fazendo uso de um comando ue ainda nao testamos: 0 we. Basicamente 0 que ele faz € contar as linhas de um arquivo ou do conteudo que for exibido no terminal, para isso ullizamos a opcao we |. Para informar ao comando que queremos apenas a quantidade de linhas, 0 que faremos e execular 0 ps aux em combinacao com o we -|, usando 0 | (pipe), que @ uma. forma de encadeamento de processos: ps aux | we 0 que o | fez foi encadear a execucao do comando ps aux ao comando we .|. Assim, ele ‘pegou 0 resultado gerado do primeiro comando e passou para o segundo. ‘A ssaida do we nos mostra quantos processos ao todo temos rodando em nosso computador. ‘Outro comando que ainda nao vimos e grep, que procura por uma expressao que pode ser uma palavra ou frase em um arquivo, ou ainda pode funcionar como fitro na saida de comandos. Vamos usa-lo para fitrar a lista de processos gerada ‘com ps -Ae buscar todos os processos do apache que estiverem em execucao.A ‘opcao -A do comando ps e para exibir todos os processos em execucao mas sem detathes, ps-A| grep apache 1166 ? 00:00:00 apache2 1184 9 00:00:00 apache2 1185 ? 00:00:00 apache2 1186 ? 00:00:00 apache2 1187 ? 00:00:00 apache2 1188 7 00:00:00 apache2 Foram retomados somente 0s processos com name apache, pois o grep realizou um filtro para ignorar todo o resto e exibir 0 que procuravamos. Experimente: ‘executar ps -A para ver o tamanho da lista de processos. \Veremos agora autro comando bastante usado para verificar processos, o top, ‘que acompanha os processos atualizando as informacoes quase em tempo real Exocuto no terminal o top para ve-lo funcionando.. Na parte superior, logo nas primeiras linhas, tomos informacoes sobre o sistoma, ‘com numoro total de processos, uso da CPU, uso da memoria. Em soguida, tomios allista dos processos oxistontes. Para obter ajuda sobre 0 uso, tacle h 0, para sair do top, tecle q. O top possui muitas opcoes, veja algumas em man top. Uma opcao interessante e acompanhar os processos de um determinado usuario do sistema, Para isso usamos a opcao -u @ 0 nome do usuario: top -u daniel Desa forma, estamos executando um filtro para exibir Somente os processos ertencentes ao usuano anhanguera. ‘Uma outra opcao ao top @ 0 htop, que tem uma interface mais amigavel. Ele nao vem instalado por padrao, entao vamos instalar para conhece-lo: ‘sudo apt-get install htop

You might also like