10_Processos.

Transcrição

10_Processos.
Escola Profissional Vasconcellos Lebre
Ano Lectivo 2009/2010
Processos do Linux
Para podermos aceder à listagem de processos do nosso sistema linux, usamos o comando ps, que
significa Process Status, que mostra todos os processos que estão a correr na nossa máquina.
É necessário saber utilizar o ps, para que quando tivermos algum processo pendurado, que se queira
terminar, acedendo à sua informação, facilmente conseguimos terminar o processo recorrendo ao comando
kill.
Comando ps – Estado dos Processos
Vamos ver como podemos utilizar o ps.
samuel@houston:~$ ps
PID TTY
5395 pts/1
5414 pts/1
•
•
•
•
PID
TTY
TIME
CMD
TIME CMD
00:00:00 tcsh
00:00:00 ps
– Número do Processo
– Número do TTY, se tivermos várias sessões, temos diferentes TTY
– Duração do processo
– Nome do comando
Opções a usar no comando ps
a
e
f
l
u
x
t
ps axu
ps ux
ps -U root -u root u
Escola Profissional da Mealhada
Lista todos os processos
Mostra as variáveis associadas aos processos
Mostra a árvore de execução dos processsos
Mostra mais campos
Mostra o nome do usuário e a hora de inicio
Mostra os processos que não estão associados a terminais
Mostra todos os processos do terminal
Listar todos os processos
Listar todos os processos do nosso user
Listar todos os processos do user “root”
1/5
Escola Profissional Vasconcellos Lebre
Ano Lectivo 2009/2010
samuel@houston:~$ ps ux
USER
spereira
spereira
spereira
spereira
spereira
spereira
PID %CPU
6364 0.2
6365 0.5
6398 0.2
6399 1.9
6418 0.5
6423 0.0
USER
PID
%CPU
%MEM
VSZ
RSS
TTY
STAT
START
TIME
COMMAND
•
•
•
•
•
•
•
•
•
•
•
%MEM VSZ RSS TTY
0.6 7892 1552 ?
1.2 5588 3080 pts/3
0.6 7892 1552 ?
1.1 5584 3068 pts/4
0.7 4432 1828 pts/4
0.3 2560 996
pts/3
STAT
S
Ss
S
Ss
S+
R+
START
10:12
10:12
10:13
10:13
10:13
10:13
TIME COMMAND
0:00 sshd: spereira@pts/3
0:00 -bash
0:00 sshd: spereira@pts/4
0:00 -bash
0:00 vi
0:00 ps -U spereira u
– Nome do Utilizador
– Número do Processo
– Percentagem de utilização do CPU
– Percentagem de utilização de memória
– Tamanho da memória virtual
– Tamanho da memória residente
– Número do terminal, se tivermos várias sessões, temos diferentes terminais
– Estado actual do processo
– Hora em que o processo foi iniciado
– Tempo de processamento consumido
– Nome do comando
Estados dos Processos
D
R
S
T
X
Z
Processo em “Uninterruptible sleep”
Processo a correr
Processo suspenso
Processo parado
Processo morto (não aparece na lista dos processos)
Processo Zombie, está terminado, mas está ligado pelo processo que o iniciou
<
N
L
s
l
+
Corre em alta prioridade
Corre em baixa prioridade
Aloca as páginas na memória
Líder de sessão, garante que o processo termina quando o user faz logout
Processo em multi-thread
Corre em foreground
Escola Profissional da Mealhada
2/5
Escola Profissional Vasconcellos Lebre
Ano Lectivo 2009/2010
top – Listar processos em tempo real
Vamos ver como podemos utilizar o top.
samuel@houston:~$ top –U spereira
top - 11:01:20 up 1:15, 6 users, load average: 0.10, 0.05, 0.01
Tasks: 110 total, 1 running, 108 sleeping, 1 stopped, 0 zombie
Cpu(s): 1.0%us, 1.7%sy, 0.3%ni, 95.2%id, 1.4%wa, 0.1%hi, 0.2%si, 0.0%st
Mem: 256092k total, 248340k used,
7752k free, 50016k buffers
Swap: 240932k total, 33328k used, 207604k free, 70120k cached
PID USER
PR NI VIRT RES SHR S %CPU
6364 spereira 15 0 8032 1568 1072 S 0.0
6365 spereira 15 0 5588 3100 1496 S 0.0
6398 spereira 15 0 8032 1568 1072 S 0.0
6399 spereira 15 0 5592 3120 1512 S 0.0
6800 spereira 18 0 4428 1852 1476 T 0.0
%MEM TIME+ COMMAND
0.6 0:01.06 sshd
1.2 0:00.42 bash
0.6 0:01.61 sshd
1.2 0:00.35 bash
0.7 0:00.02 vi
Opções a usar no comando top
top
top -U user
top -p PID
Escola Profissional da Mealhada
Monitoriza todos os processos
Monitoriza apenas os processos de um user
Monitoriza apenas um determinado processo
3/5
Escola Profissional Vasconcellos Lebre
Ano Lectivo 2009/2010
Comando kill – Comando para enviar informação para os processos
O kill é um comando para enviar mensagens para os processos, por norma a mensagem que ele envia á
para terminar o processo, mas serve também para outras opções.
samuel@houston:~$ kill PID
Para se ver a lista de opções do kill, usa-se o man kill.
Algumas opções para terminar processos.
0
1
2
9
15
SIGTERM - Termina o processo
SIGHUP - Reinicia o processo (lê as configurações novamente)
SIGINT - Sinal de Interrupção (CRTL+C)
SIGKILL - Mata o Processo, sem delays
SIGTERM - Termina o Processo
Este comando termina todos os processos que pode terminar.
samuel@houston:~$ kill -9 -1
Escola Profissional da Mealhada
4/5
Escola Profissional Vasconcellos Lebre
Ano Lectivo 2009/2010
Comando killall – Comando para enviar informação para os processos por “nome”
O killall é um comando para enviar mensagens para os processos, por norma a mensagem que ele envia á
para terminar o processo, mas serve também para outras opções.
samuel@houston:~$ killall NOME_PROCESSO
Para se ver a lista de opções do killall, usa-se o man killall.
Algumas opções para terminar processos.
killall apache
killall -u user
killall -u user tcsh
Escola Profissional da Mealhada
Termina todos os processos do apache
Termina todos os processos de um terminado utilizador
Termina o processo tcsh de um terminado utilizador
5/5

Documentos relacionados