Gerência de Processos no Linux Prof. Antônio Rogério Ramos Pelo menos esse, fui eu que fiz!!! PID – Process IDentifier • Número de identificação do processo • Cada processo tem o seu PPID – Parent Process IDentifier • Número do processo pai que gerou um processo filho. • Processo pai é o processo copiado. • Processo filho é a cópia. UID – User IDentifier • Número do usuário atribuído pelo sistema. • Varia de 0 a 65535. • Usuário Root é 0. GID – Group IDentifier • • • • Identifica o grupo a que pertence o usuário. Número varia de 0 a 65535. O grupo 0 tem privilégios de Root. O usuário que pertence ao GID 0 tem os mesmos privilégios de Root. SINAIS • Cada sinal monitora e modifica o comportamento do processo • Se o processo pode tratar o sinal, ele o fará no menor tempo possível. • Se o processo não pode tratar o sinal, o Linux vai tratá-lo e interferir no comportamento do processo. SINAIS • stop – faz o processo... Parar :p • cont – faz o processo... Continuar :b • segv – informa erros de endereços de memória. • term – faz o processo terminar. • ill – informa erros retornados pelo processo (div 0 por exemplo). KILL • kill – mata um processo (usar só em casos de vida ou morte ;p) • kill -stop 4230 (faz o processo 4230 parar) • kill -cont 4220 (continua processo 4220) • kill -stop -1 (para todos os processos) • kill -9 4230 (mata o processo sem piedade) • kill -term 4220 (termina o processo) KILLALL • • • • Mata o processo pelo nome. Usa-se do mesmo modo que o kill. No lugar do PID usa-se o nome do processo. killall -9 vi (vi é o nome do processo). NICE – gentileza do processo • Menos gentil: -19 • Mais gentil: +19 • nice -5 ntpd (o processo ntpd recebe o número -5 de gentileza) RENICE • Modifica o nice de um processo que já está executando. • renice +19 -p 1000 (alterou o nice do processo 1000). • renice +19 -u toninho (alterou o nice dos processos do usuário toninho). • Renice +19 -g casa (alterou o nice dos processos dos usuários do grupo casa). PS • • • • • • • • • • Informações sobre processos e seus atributos. ps (processos do usuário). ps -a (todos os processos). ps -e (variáveis do Linux ligadas ao processo). ps -f (árvore de processos). ps -l (mais campos são exibidos). ps -m (memória ocupada pelo processo). ps -u (usuário e hora de início do processo). ps -x (processos sem terminais). ps -w (informações muito grandes na linha seguinte). CAMPOS DO PS • • • • • • • • • • • • • • • USER – nome do dono do processo. UID – número do dono do processo. PID – identificação do processo. PPID – identificação do processo pai. %CPU - % de cpu usado pelo processo. %MEM - % de memória usada pelo processo. VSZ – tamanho virtual do processo. RSS – quantidade de memória usada. TTY – identificador do terminal do processo. START – hora que o processo iniciou. TIME – tempo que o processo está rodando. COMMAND – nome do comando que executa o processo. PRI – valor da prioridade do processo. NI – valor preciso da prioridade. WCHAN – função do kernel onde o processo está no modo suspenso. CAMPOS DO PS • STAT – indica o estado atual do processo que pode assumir uma das seguintes letras: – – – – – – – – – R – executando D – esperando o disco S – suspenso T – interrompido Z – zumbi W – processo com página em disco < - prioridade maior do que o comum N – prioridade menor que o comum L – alguns recursos bloqueados pelo kernel TOP • Apresenta informações sobre os processos em intervalos regulares (geralmente a cada 10 segundos). OPÇÕES DO TOP • • • • • • • top -d 30 (atualiza o top a cada 30 segundos). top -c (exibe a linha de comando). top -i (não mostra processos zumbis). top -s (exibe o top em modo seguro). Barra de espaço (atualiza o top na hora). q (top termina) h (help do top) JOBS • Exibe processos que estão no segundo plano. • Exibe processos que estão parados. Esses processos não estão utilizando o terminal, portanto, não podem interagir com o usuário. Esses processos continuam rodando enquanto o usuário faz outra coisa no sistema. JOBS • • • • • • • jobs -l (lista os processos através da PID). jobs -r (lista apenas os processos executando). jobs -s (lista apenas os processos parados). + (aparece no job que está no segundo plano). + (aparece no job que parado por último). - (aparece no penúltimo job parado). [num] (número de ordem do jobs para os processos; nada a ver com PID). FG • Passa do segundo para o primeiro plano. • fg +4322 (passa o processo 4322 para foreground, lembrando que 4322 é o número obtido pelo jobs para o processo e não o PID). BG • Passa do primeiro para o segundo plano. • bg +4322 (passa o processo 4322 para background, lembrando que 4322 é o número obtido pelo jobs para o processo e não o PID). FUSER • Exibe e acessa o processo que utiliza determinado arquivo ou diretório. • fuser -k caminho (finaliza o processo). • fuser -u caminho (mostra o dono do proces.). • fuser -v caminho (mostra os processos). PSTREE • • • • • Apresenta uma árvore de processos. pstree -u 3245 (dono do processo 3245). pstree -p 3245 (PID após o nome do proc.). pstree -c 3245 (relação de processos ativos). pstree -g 3245 (caracteres semi gráficos). NOHUP • Processo fica ativo mesmo quando o usuário faz logout. • nohup vi (vi fica ativo mesmo depois do logout).