Redirecionamento, Pipese ProcessosFábio dos Reis - Bóson Treinamentos
Arquivos de DispositivosEm Linux e Unix, tudo são arquivos; drives dedisco, partições, terminais, áudio, etc., sãomapeados...
Arquivos de DispositivosO kernel do Linux associa os drivers dedispositivos (módulos) aos arquivos dedispositivos, de modo...
Descritores Padrões de ArquivosÉ uma abstração de uma identificação paraacessar um arquivo.Quando um processo quer manipul...
Descritores Padrões de ArquivosEntrada Padrão (Standard Input, stdin)Saída Padrão (Standard Output, stdout)Erro Padrão (St...
Entrada PadrãoStream para entrada de texto.Por padrão, vinculado ao teclado.Ao digitar em um programa interativo, oscaract...
Saída PadrãoStream de Saída de texto para a saída normaldos programas.Vinculado por padrão ao terminal ou janela determina...
Erro PadrãoStream de saída de texto, usadoexclusivamente para erros ou infos nãorelacionadas à saída normal dos comandos.V...
PipesPara os programas, é a mesma coisa ler dadosa partir de um arquivo ou a partir do teclado.Idem para escrever em arqui...
PipesPodem ser usados em uma série de várioscomandos.Se forem usados mais de dois comandos, aoperação resultante recebe o ...
RedirecionamentoO pipe foi utilizado para redirecionar a saídade um comando para a entrada de outro.Podemos também redirec...
RedirecionamentoAs saídas redirecionadas para um arquivo nãosão exibidas na tela, exceto os erros padrão.O operador > cria...
RedirecionamentoÉ possível também redirecionar a entradapadrão, para que os comandos leiam a partirde um arquivo em vez de...
Exemplos de Redirecionamentols -zz 2> erro.txt # Redireciona o erro gerado pela opçãoinválida -zz para o arquivo erro.txt ...
Comando teePermite enviar a saída de um comando paraum arquivo e para a tela ao mesmo tempo.Sintaxe:tee [opções] arquivos-...
Comando teeFábio dos Reis - Bóson TreinamentosFonte da imagem: Wikimedia Commons
ProcessosTodo programa rodando no sistema é umprocesso.Um comando, um aplicativo e o próprio Shellsão processos dos sistem...
Conceitos e Atributos de ProcessosTempo de vida - Extensão de tempo que ele levapara executar.PID - Número do ID do proces...
Gerenciamento de ProcessosComandos úteis:pspstreefuserlsofkillbg / fgjobsnohupnice / reniceFábio dos Reis - Bóson Treiname...
Comando psGera um instantâneo dos processos atuais noterminal.Sintaxe:ps [opções]-a Mostra processos de propriedade de out...
Exemplos do comando psps Gera uma lista de processos de suapropriedade e vinculados a seu terminalps -aux Inclui processos...
Comando pstreeExibe uma lista hierárquica de processos noformato de árvore.pstree [opções]pstree -p Inclui PIDs na saídaps...
Sinais de ProcessosOs sinais são meios usados para que osprocessos possam se comunicar e para que osistema possa interferi...
Lista de SinaisSTOP - esse sinal tem a função de interromper a execuçãode um processo e só reativá-lo após o recebimento d...
Comando killPermite enviar sinais a um processo.Sintaxe:kill [sinal] PIDFábio dos Reis - Bóson Treinamentos
Comando kill - ExemplosSuponha que você deseja interrompertemporariamente a execução do processo de PID4220. Para isso, us...
Upcoming SlideShare
Loading in …5
×

Redirecionamento, pipes e processos linux

3,362 views

Published on

Published in: Education, Technology

Redirecionamento, pipes e processos linux

  1. 1. Redirecionamento, Pipese ProcessosFábio dos Reis - Bóson Treinamentos
  2. 2. Arquivos de DispositivosEm Linux e Unix, tudo são arquivos; drives dedisco, partições, terminais, áudio, etc., sãomapeados para o sistema de arquivos.Desta forma os programas podem interagircom muitos dispositivos da mesma maneira.Esses dispositivos são chamados de arquivos dedispositivos, que são objetos do sistema queoferecem uma interface para o dispositivo.Fábio dos Reis - Bóson Treinamentos
  3. 3. Arquivos de DispositivosO kernel do Linux associa os drivers dedispositivos (módulos) aos arquivos dedispositivos, de modo que os dispositivospodem ser acessados como se fossem arquivos.Fábio dos Reis - Bóson Treinamentos
  4. 4. Descritores Padrões de ArquivosÉ uma abstração de uma identificação paraacessar um arquivo.Quando um processo quer manipular umarquivo, ele usa um valor inteiro que é um dostrês descritores de arquivos existentes.Quando um programa é iniciado, ele recebeautomaticamente os três descritores dearquivos a seguir:Fábio dos Reis - Bóson Treinamentos
  5. 5. Descritores Padrões de ArquivosEntrada Padrão (Standard Input, stdin)Saída Padrão (Standard Output, stdout)Erro Padrão (Standard Error, stderr)Fábio dos Reis - Bóson Treinamentos
  6. 6. Entrada PadrãoStream para entrada de texto.Por padrão, vinculado ao teclado.Ao digitar em um programa interativo, oscaracteres são enviados para a entrada padrãoÉ o Descritor de Arquivos 0.Fábio dos Reis - Bóson Treinamentos
  7. 7. Saída PadrãoStream de Saída de texto para a saída normaldos programas.Vinculado por padrão ao terminal ou janela determinal.A saída gerada pelos comandos é escrita nasaída padrão.É o Descritor de Arquivos 1.Fábio dos Reis - Bóson Treinamentos
  8. 8. Erro PadrãoStream de saída de texto, usadoexclusivamente para erros ou infos nãorelacionadas à saída normal dos comandos.Vinculado por padrão ao terminal.Descritor de arquivos 2.Fábio dos Reis - Bóson Treinamentos
  9. 9. PipesPara os programas, é a mesma coisa ler dadosa partir de um arquivo ou a partir do teclado.Idem para escrever em arquivos e terminais.Desta forma, é possível enviar a saída de umprograma para a entrada de outro.Para isso usamos um pipe, simbolizado por |,o que nos permite juntar dois ou maiscomandos.Ex.: ls -l | lessFábio dos Reis - Bóson Treinamentos
  10. 10. PipesPodem ser usados em uma série de várioscomandos.Se forem usados mais de dois comandos, aoperação resultante recebe o nome depipeline ou stream de texto.ls /etc | sort -r | lessFábio dos Reis - Bóson Treinamentos
  11. 11. RedirecionamentoO pipe foi utilizado para redirecionar a saídade um comando para a entrada de outro.Podemos também redirecionar a saída para ede arquivos.Para isso usamos o operador deredirecionamento >ls -i > inodes.txtFábio dos Reis - Bóson Treinamentos
  12. 12. RedirecionamentoAs saídas redirecionadas para um arquivo nãosão exibidas na tela, exceto os erros padrão.O operador > cria arquivos, portanto toda vezque for usado o arquivo será criado se nãoexistir, e substituído se não existir.Para anexar conteúdo a arquivos existentesuse o operador de redirecionamento >>echo "Essa foi a lista de inodes" >> inodes.txtFábio dos Reis - Bóson Treinamentos
  13. 13. RedirecionamentoÉ possível também redirecionar a entradapadrão, para que os comandos leiam a partirde um arquivo em vez de a partir do teclado.Fábio dos Reis - Bóson Treinamentos
  14. 14. Exemplos de Redirecionamentols -zz 2> erro.txt # Redireciona o erro gerado pela opçãoinválida -zz para o arquivo erro.txt (por padrão iria para o terminal)ls -zz 2>> erro.txt #Anexa o erro gerado a erro.txt.cat < /etc/group > /tmp/grupos 2> /tmp/erro# Redireciona a entrada de cat a partir de /etc/group, a saída docomando para grupos e a saída padrão para erro.Fábio dos Reis - Bóson Treinamentos
  15. 15. Comando teePermite enviar a saída de um comando paraum arquivo e para a tela ao mesmo tempo.Sintaxe:tee [opções] arquivos-a Anexa aos arquivos, em vez desobrescrevê-los.ls -l | tee arquivo # Mostra na tela a saída de ls -l e tambéma grava em arquivols -l | tee arquivo | less # Mostra na tela a saída de ls -lpaginado por less e também a grava em arquivoFábio dos Reis - Bóson Treinamentos
  16. 16. Comando teeFábio dos Reis - Bóson TreinamentosFonte da imagem: Wikimedia Commons
  17. 17. ProcessosTodo programa rodando no sistema é umprocesso.Um comando, um aplicativo e o próprio Shellsão processos dos sistema.Todo processo possui atributos e conceitosassociados a ele.Fábio dos Reis - Bóson Treinamentos
  18. 18. Conceitos e Atributos de ProcessosTempo de vida - Extensão de tempo que ele levapara executar.PID - Número do ID do processoUID e GID - IDs do usuário e grupo associados aoprocesso.Processo-pai - Processo que criou um outroprocesso.PPID - Número do ID do processo-paiDiretório de Trabalho Atual - Diretório padrãoassociado ao processo.Fábio dos Reis - Bóson Treinamentos
  19. 19. Gerenciamento de ProcessosComandos úteis:pspstreefuserlsofkillbg / fgjobsnohupnice / reniceFábio dos Reis - Bóson Treinamentos
  20. 20. Comando psGera um instantâneo dos processos atuais noterminal.Sintaxe:ps [opções]-a Mostra processos de propriedade de outros usuários e vinculados a um terminal-l Formato longo, incluindo prioridade, PPID, etc.-u Formato de usuário, com nomes de usuário e hora de início dos processos-x Inclui processos sem terminal de controle (daemons, etc.)-U usuário Exibe processos de propriedade do usuário.Fábio dos Reis - Bóson Treinamentos
  21. 21. Exemplos do comando psps Gera uma lista de processos de suapropriedade e vinculados a seu terminalps -aux Inclui processos de outros usuários,não-vinculados a um terminal e no modousuário.ps -U mario Exibe os processos do usuáriomario.Fábio dos Reis - Bóson Treinamentos
  22. 22. Comando pstreeExibe uma lista hierárquica de processos noformato de árvore.pstree [opções]pstree -p Inclui PIDs na saídapstree 100 Exibe a subárvore de processos sobo processo de PID 100Fábio dos Reis - Bóson Treinamentos
  23. 23. Sinais de ProcessosOs sinais são meios usados para que osprocessos possam se comunicar e para que osistema possa interferir em seufuncionamento.Quando um processo recebe um determinadosinal e conta com instruções sobre o que fazercom ele, tal ação é colocada em prática.Se não houver instruções pré-programadas, opróprio Linux pode executar a ação de acordocom suas rotinas.Fábio dos Reis - Bóson Treinamentos
  24. 24. Lista de SinaisSTOP - esse sinal tem a função de interromper a execuçãode um processo e só reativá-lo após o recebimento do sinalCONT;CONT - esse sinal tem a função de instruir a execução de umprocesso após este ter sido interrompido;SEGV - esse sinal informa erros de endereços de memória;TERM - esse sinal tem a função de terminar completamenteo processo, ou seja, este deixa de existir após a finalização;ILL - esse sinal informa erros de instrução ilegal, porexemplo, quando ocorre divisão por zero;KILL - esse sinal tem a função de "matar" um processo e éusado em momentos de criticidade (cód. 9).Fábio dos Reis - Bóson Treinamentos
  25. 25. Comando killPermite enviar sinais a um processo.Sintaxe:kill [sinal] PIDFábio dos Reis - Bóson Treinamentos
  26. 26. Comando kill - ExemplosSuponha que você deseja interrompertemporariamente a execução do processo de PID4220. Para isso, use o comando:kill -STOP 4220Para que o processo 4220 volte a ser executado,basta usar o comando:kill -CONT 4220Para "matar" um processo, use:kill -9 [PID]Fábio dos Reis - Bóson Treinamentos

×