Execução e Gestão de Programas no Linux : Aula 21 : Módulo 7

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

Nesta aula do Curso de Linux Básico | XP IT Cursos, vamos aprender sobre o funcionamento da execução de programas e gestão de processos no Linux.

Vamos falar um pouco sobre como funciona execução de programas no GNU/Linux, aprender o que é o path, tipos de execução, sequenciamento de comandos e aprenderemos a utilizar algumas ferramentas de controle de execução de programas como os comandos ps e o top.


Curso Linux : Básico
🎦 Módulo 07 : Aula 21 : Como funciona a execução de programas no Linux e como efetuar a gestão de processos 🐧


🎦 Funcionamento da Execução Comandos Linux e Monitoração de Processos ✅💻
🕐 Conteúdo

⏺ Como funciona a execução de um comando/programa no Linux

⏺ O que é o e para que serve o path no Linux ?

⏺ Tipos de Execução de comandos/programas no Linux

⏺ Como executar programas em sequência no Linux

⏺ Ferramentas de Controle de programas em execução e gestão de processos no Linux

  • ps
  • top


Esta aula faz parte do Curso Linux Básico da XP IT Cursos, uma plataforma ensino completa que irá proporcionar seu aprendizado de uma forma rápida e consistente.

XP IT Cursos

XP IT Cursos oferece uma oferta a preços acessíveis a Plataforma de Aprendizado com Vídeo Aulas do WebMundi.com + Trilha de Aprendizagem,  Material didático em PDF, exercícios de fixação / Revisão de Conteúdo, questionários e o final do curso o Certificado de Conclusão.


+ Garanta seu desconto exclusivo em : https://www.xpitcursos.com.br

Funcionamento da execução de comandos Linux e monitoração de processos 👩🏻‍💻🐧
[Canal Web Mundi.com + XP IT Cursos]

https://youtu.be/7EnmzZIeRhw
Comandos de Rede Linux via Terminal : Parte 1 : Aula 19 : Módulo 6

Como funciona a execução de um comando/programa no Linux

No Linux para executar um comando primeiramente é necessário que o programa tenha permissão de execução no Linux.

Veremos o item permissões no próximo modulo deste curso, mas só para entender o comportamento do sistema, no Linux não basta o arquivo ser um programa para ser executado, ele necessita de ter permissão.

Se o programa não possui privilégio de execução, mesmo sendo um executável, ele não pode ser executado no sistema operacional.


Todo o sistema de arquivos e diretórios no Linux roda sob o controle das permissões de acesso e execução.

Além da permissão, é necessário ter o caminho do programa cadastrado ou informa-lo no momento da execução.

Ou seja, o terminal Linux precisa saber onde o programa a ser executado esta localizado.

No Linux, isso é conhecido como path (caminho ou local) e já iremos tratar sobre o path logo na sequencia.

Com permissão e path adequados, o programa/comando entra em execução e recebe um número de identificação (chamado de PID – Process Identification) que servirá para seu controle e gestão dentro do sistema Linux.

O PID é um número de identificação é útil para reconhecer o processo em execução no sistema e assim ter a gestão sobre a execução dos programas Linux (e também veremos isto mais a frente aqui mesmo nessa publicação e futuras aulas do curso).

Execução e Gestão de Programas no Linux : Aula 21 : Módulo 7
Execução e Gestão de Programas no Linux : Aula 21 : Módulo 7

O que é o e para que serve o path no Linux ?

Agora que você já sabe que um programa no Linux precisa ter permissão para ser executado que e recebe um PID para ser identificado, vamos entender o que é Path e para que ele serve.

O Path é uma variável de ambiente no Linux que armazena os caminhos de busca dos arquivos/comandos executáveis no Linux.

Para que serve o path do Linux ?

Basicamente o PATH serve para um programa ou comando possa ser encontrado no Sistema Operacional.

Quando você digita um comando no Terminal, tudo o que você está fazendo é dizer ao Linux para executar um comando ou programa.

Mesmo comandos simples, como ls , pwd, who e diversos ficam dentro de um diretório do Linux que no caso é o /usr/bin que esta cadastrado na variável de ambiente $PATH

Também existem outros locais do sistema com programas executáveis, como por exemplo:

ls -lha /usr/bin
ls -lha /usr/sbin
ls -lha /usr/local/bin
ls -lha /usr/local/sbin

Vamos então aprender como consultar os diretórios cadastrados na variável $PATH


Como visualizar o PATH Linux ?

Para consultar o que está em seu $PATH, digite no terminal, o comando:

echo $PATH

Resultado do comando acima:

webmundi@webmundi-VirtualBox:~/Downloads$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Repare que os diretórios que falamos anteriormente estão no path e todos eles estão separados por dois-pontos.

Ou seja, todo comando que esta no path pode ser executado a partir de qualquer diretório do Linux.

Porém, um programa executável Linux pode ficar praticamente em qualquer lugar do seu computador.

Ele não precisa se limitar a um desses diretórios .

Você pode instalar programas ou scripts em outros locais do seu PC Linux.

Para executar o programa você pode adicionar o diretório onde esta o programa na variável $PATH ou se preferir terá que informar a localização exata do executável no terminal.


Como criar um script shell .sh executável no Linux

Então vamos aprender na prática como se faz esse processo de forma completa e detalhada.

Primeiro, vamos criar um arquivo de script shell que é um tipo de programa executável no terminal Linux.

Depois vamos inserir o diretório deste script na variável de ambiente $PATH, assim você irá conferir na prática todo o processo da teoria apresentada até aqui nesta aula.

Então vamos no terminal e digitar os seguintes comandos :


nano olawebmundi.sh

#!/bin/bash
echo 'Ola WebMundi.com'

Para executar nosso script, basta digitar no terminal:

./olawebmundi.sh

Porém, como falamos anteriormente, não basta o arquivo ser executável no Linux.

É obrigatório ter permissão para poder ser executado, por isso é apresentada a mensagem:

bash: ./olawebmundi.sh: Permissão negada

Para isso, vamos liberar permissão de execução ao script sh

chmod a+x olawebmundi.sh 

Agora vamos executar o script shell, novamente:

./olawebmundi.sh

Veja que agora com as permissões corretas, o comando executou sem problemas e a mensagem olá webmundi foi apresentada no prompt do terminal:

webmundi@webmundi-VirtualBox:~$ ./olawebmundi.sh
Ola WebMundi.com

Vamos testar o path ou o caminho, para isso, vou mudar o diretório corrente para Downloads com o comando:

 cd Downloads/

Agora vamos tentar executar o script olawebmundi.sh

./olawebmundi.sh

ou 

olawebmundi.sh

E veja que obtive um erro:

webmundi@webmundi-VirtualBox:~$ cd Downloads/
webmundi@webmundi-VirtualBox:~/Downloads$ ./olawebmundi.sh
bash: ./olawebmundi.sh: Arquivo ou diretório inexistente

E porque este erro ocorre?

A mensagem de erro “Arquivo ou diretório inexistente” ocorre, pois quando se digita um comando no shell, o Linux não busca o script olawebmundi.sh em todos os diretórios do sistema operacional.

Se caso o Linux fizesse isso, a performance de execução de comandos no terminal seria comprometida e cada execução de comando no shell poderia demorar bastante.

Por isso, o Linux pesquisa executaveis somente nos diretórios especificados ou cadastrados na variável de ambiente $PATH .

O shell do Linux sempre verifica esta variável para buscar os arquivos executáveis do sistema.

Se o arquivo não é encontrado nestes locais, algum tipo de erro é apresentado como por exemplo:

Arquivo ou diretório inexistente

Por isso, um comando como o ls funciona em qualquer diretório do Linux, sem a necessidade de informar o local onde o programa esta.

Pois o diretório deste comando, esta inserido na variável de ambiente PATH do sistema.

Executando programas que não estão no $PATH Linux

Saiba que mesmo sem incluir um diretório no $PATH, é possível executar um comando, mas para o programa execute é obrigatório informar o caminho completo do executável com seus diretórios e subdiretórios.

Ou seja, neste caso para executar o script shell olawebmundi.sh de qualquer lugar sem $PATH será necessário informar toda sua localização no Linux.

Como por exemplo os exemplos a seguir:

.././olawebmundi.sh

ou 

/home/webmundi/./olawebmundi.sh

Repare que o processo de informar a localização exata do programa é bem mais trabalhoso, pois toda vez que for executar o script tenho que lembrar o local exato onde o programa executável fica.

Por isso, vamos aprender a adicionar um diretório na variável de ambiente $PATH do Linux.


Como adicionar um diretório ao seu PATH do Linux

Para incluir um diretório no caminho path de busca, podemos utilizar o comando export

Por exemplo, vou incluir no $PATH, o diretório pessoal ou home padrão do usuário webmundi, para isso, vou utilizar o seguinte comando :

export PATH=$PATH:/home/webmundi/
  • export – Diz ao bash para disponibilizar a variável de ambiente para qualquer processo filho.
  • PATH – Informa ao bash que você está configurando a variável $PATH
  • $PATH – Coloca o valor atual da variável PATH na variável recém-definida.
  • : – É um separador ou delimitador
  • /home/webmundi/ – É o diretório que estamos adicionando

Depois que adicionamos o diretório do script shell /home/webmundi/ no PATH, vamos consultar a variável de ambiente mais uma vez.

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/webmundi

Repare que agora, o diretório que adicionamos com export esta cadastrado e o terminal do Linux ira buscar executáveis neste local quando eu executar um comando no shell.

Então vamos executar o script olawebmundi.sh de qualquer local do Linux, bastando digitar seu nome:

olawebmundi.sh

Com isso , o script shell funcionará a partir de qualquer diretório do Linux.

Importante sobre o uso do comando export Linux

O uso da export funciona muito bem para uma alteração temporária na variável.

É importante lembrar que as alterações usando a export não ficam disponíveis se fecharmos o terminal e abrirmos um novo shell.

O Comando export apenas disponibiliza o caminho para o shell atual e processos filhos ou shells que são gerados pelo shell atual (sub shells).

Em um curso mais avançado, veremos como efetuar a alteração da variável PATH de forma permanente, por enquanto, por segurança é melhor usarmos o export.


Tipos de Execução de comandos/programas no Linux

Nesta seção, vamos aprender mais sobre os tipos de execução de programas no Linux e depois um pouco sobre a gestão de processos.

Um comando pode ser executado de duas formas no Terminal Bash:

Em primeiro e Segundo plano.

  1. Primeiro Plano : Foreground.
    É Quando você precisa esperar o término da execução de um programa para executar um novo comando no terminal.
  2. Segundo Plano – Background.
    É Quando você não precisa esperar o término da execução de um programa para executar um novo comando no bash.

Vamos então a exemplos de Utilização dos Tipos de Execução no Linux

Exemplos de Utilização dos Tipos de Execução no Linux

Primeiro Plano : foreground

Para iniciar um programa em primeiro plano, basta digitar seu nome normalmente no terminal.

Exemplo:

gedit 

Repare que Na execução em primeiro plano repare que o terminal fica preso ao programa executado, que no caso é o editor gedit, ou seja, não é possível digitar outros comandos no terminal até que o gedit seja fechado.

Ja na execução em segundo plano, isso não ocorre como vamos ver.

Segundo Plano : background

Para iniciar um programa em segundo plano, acrescentamos o caractere “&” após o final do comando.

Vamos ao mesmo exemplo do gedit:

gedit &

Quando se inicia um programa em background, o Linux fornece o número PID (identificação do Processo) liberando o uso normal do terminal do sistema. O programa executado em background continua sendo executado internamente.

Todo programa executado no Linux (Foreground ou Background) se torna um processo no sistema identificado com o PID

Em alguns casos após um programa background ser concluído, o sistema retorna uma mensagem com PID do processo e status de conclusão.

Repare que executando o gedit em segundo plano, o terminal ficara liberado para que eu possa digitar outros comandos.

Outro exemplo de execução em Background

find / -name boot.b &

Importante sobre programas em background Linux:

Uma característica importante sobre executar programas em background é que se o usuário fechar o terminal, o programa em background também será finalizado.

Caso queira evitar este tipo de comportamento, podemos utilizar um comando para desanexar o terminal Linux do programa executado background.

Defina os comandos do Linux em segundo plano usando disown

Para isso, utilizamos o comando disown.

Este comando disown desvincula a execução do comando em segundo plano do shell.

Para executa-lo, primeiro, envie uma tarefa em segundo plano com o operador & .

Depois digite o comando disown.

gedit &
disown

O beneficio do disown é que o sistema não irá encerrar o programa executado em background quando fechar o terminal Linux.


Como executar programas em sequência no Linux

Os comandos também podem serem executados em sequência no terminal do Linux, ou seja, um após o término do outro.

Para isso, basta separarmos os comandos com ponto e virgula “;”.

Por exemplo:

echo primeiro;echo segundo;echo terceiro
echo executando o ls;ls;echo executando o who;who;echo executando o pwd;pwd


Ferramentas de gestão de comandos / programas no Linux

Agora vamos conhecer alguns programas que permitem a gestão de programas e processos em execução no Linux.

Como vimos anteriormente, quando você executa um programa ou comando do Linux, ele cria um processo no sistema e fornece um PID para identificar o programa em execução.

Para efetuar o gerenciamento dos programas que estão sendo executados, existem alguns softwares utilitários que permitem a gestão destes programas que estão em processamento no Linux.

Vamos conhecer alguns deles como o ps e o top.

PS

O comando ps exibe informações sobre os processos / programas em execução no Linux, permitindo a gestão e monitoramento.

O comando ps também nos mostra qual usuário executou o programa, a hora que o processo foi iniciado, etc.

Vamos apresentar as opções mais simples, em nosso roteiro você encontra mais informações sobre este comando

Exemplos comando ps Linux:

ps
ps -a
ps -x

Sintaxe

ps [opções]

Algumas opções do comando ps

  • a : mostra os processos de todos os usuários.
  • A ou e : mostra todos os processo.
  • f : mostra a árvore de execução de comandos.
  • g grupo : mostra os processos de um determinado nome de grupo.
  • o formato : usa o formato definido pelo usuário, Deve-se usar palavras-chaves conhecidas como pid, ppid, ni, pri (prioridade) e comm (comando).
  • x : mostra os processos que não foram iniciados no console.
  • u : fornece o nome do usuário e a hora de início do processo.

TOP

Já o comando top mostra uma tela interativa dos programas em execução ativos, parados, tempo usado na CPU, detalhes sobre o uso da memória RAM, Swap, disponibilidade para execução de programas no sistema, etc. O top é um programa que continua em execução mostrando continuamente os processos que estão rodando em seu computador e os recursos utilizados por eles.

Para sair do top, pressione a tecla q.

E vamos a alguns exemplos de uso do comando

Sintaxe

top [opções]

Algumas opções do comando top

  • c : mostra a linha de comando ao invés do nome do programa.
  • d num : atualiza a tela após num segundos (o padrão é 5 segundos).
  • h : exibe as opções do utilitário.
  • p pid : mostra apenas o processo com o PID especificado
  • v : mostra informações sobre o utilitário.

Teclas do aplicativo top

  • espaço : atualiza imediatamente a tela.
  • h : ajuda.
  • k : encerra um processo (comando kill). Será solicitado o PID do processo e o sinal a ser enviado ao processo. O sinal 15 provoca o término normal do processo, enquanto o sinal 9 provoca o término forçado do processo. O padrão é o sinal 15 (SIGTERM).
  • M : ordena processos de acordo com o uso da memória.
  • n ou # : altera a quantidade de processos a serem apresentados na tela. É solicitada a entrada de um número. O valor padrão é zero que corresponde ao número de processos que a tela pode suportar.
  • P : ordena processos de acordo com o uso de CPU.
  • q : encerra o aplicativo.
  • r : altera a prioridade de um processo (comando renice). Será solicitado o PID do processo e o valor da nova prioridade a ser usada pelo processo (o valor padrão é 10). O usuário comum só pode informar um valor positivo maior que a prioridade atual. O root pode informar qualquer valor entre -20 (maior prioridade) e 19 (menor prioridade).
  • s : altera o tempo entre as atualizações de tela. É solicitada a entrada do tempo de espera em segundos. O valor zero corresponde a atualização contínua. O padrão é 5 segundos.
  • T : ordena processos de acordo com o tempo de execução.
  • u : exibe os processos de um determinado usuário. É solicitada a entrada do nome (login) do usuário. O padrão é branco (todos os usuários).

Exemplos do Comando top Linux

top -d 10

Inicializa o aplicativo top e atualiza as informações apresentadas a cada 10 segundos.

top -p 1

Que exibe apenas as informações do processo 1 (init)


O conteúdo foi útil ?

Se a esta aula lhe ajudou de alguma forma em seu desenvolvimento profissional, não esqueça de se inscrever no canal ou indicar este vídeo aos seus amigos.

Se você puder e quiser você pode nos apoiar doando qualquer valor através de nosso pix.

Doe qualquer valor pelo PIX e apoie o WebMundi.com
Doe qualquer valor pelo PIX e apoie o WebMundi.com

Chave pix: [email protected]

Essas doações ajudam a manter o canal e nosso site e também na criação de novos conteúdos.

E por falar em criação de conteúdo, em breve, em nossas futuras vídeo aulas aqui do canal..

Por isso não esqueça de se inscrever no canal e ativar as notificações para ser avisado sobre novos vídeos aqui do canal.


Materiais e leituras que recomendamos para você:


Loja WebMundi.com : Informática

+ Ofertas Informática, Computadores e Tecnologia


Obrigado

Esperamos que esta publicação tenha lhe ajudado a aprofundar seus conhecimentos em linux.

Qual é sua experiência em Linux ?

Conte pra nós a sua experiência, adoraríamos saber.

Como entusiasta em desenvolvimento de software, queremos enriquecer sua experiência e conhecimento sobre este produto. 

Se você gostou deste post, compartilhe com seus amigos ou nos acompanhe pelas redes sociais.

Tem alguma dúvida ou observação a fazer ? 

Além disso, você pode nos ajudar a criar mais conteúdos como este. Como ?

Adquira produtos em nossa Loja Virtual, uma parceria do webmundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Lembrando que comprando em nossa loja você apoia a criação de vídeos gratuitos aqui no site e em nosso canal do YouTube.

Prestigie também nossos apoiadores e anunciantes conhecendo seus produtos e serviços.

É simples e rápido e assim você ajuda a gente a crescer. 👍🏼

Obrigado e um grande abraço

Gostou do Post ? Compartilhe com seus amigos nas redes sociais.

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

☑️ Comunidades Colaborativas de Aprendizagem 💬

❓ Esclareça suas dúvidas e ajude outras pessoas a aprender sobre o assunto proposto em nossa comunidade colaborativa no Facebook.

Compartilhe ideias e atividades com outros membros enquanto aprendemos juntos em um ambiente virtual criado e mantido pelo webmundi.com.
Aproveite essa oportunidade gratuita para aprimorar seus conhecimentos e participar de discussões sobre o assunto que você está interessado.

☑️ Grupos WebMundi.com Facebook

✔️ Banco de dados : Dicas
▶️ https://bit.ly/dbbrasil

✔️ Windows Dicas
▶️ https://bit.ly/windowsdicas

✔️ Linux : Dicas, Truques e Tutoriais
▶️ https://bit.ly/linuxdicas

 

✔️ Dev Brasil : Desenvolvimento de Software : Programação (Java, Python, Javascript, Flutter, PHP, Html,CSS e muito mais)
▶️ https://bit.ly/devbrasil

✔️ Virtualização de Computadores : Tecnologia
▶️ https://bit.ly/virtualizabr

APOIE O WEBMUNDI.COM

Apoie o Projeto WebMundi.com doando 1 Real !

Se você é fã do conteúdo gratuito e de qualidade que o WebMundi.com oferece no Site, Youtube e grupos, agora é a hora de demonstrar seu apoio e ajudar a mantê-lo disponível.
Qualquer doação, por menor que seja, será muito valiosa para nós e fará toda a diferença.

Basta utilizar o PIX ou o botão VALEU do Youtube para fazer sua contribuição.
Não perca essa oportunidade de ajudar a manter o WebMundi.com ativo e fornecer ainda mais conteúdo de qualidade para você e para outros.

Faça sua doação agora e seja parte da nossa comunidade de apoio!

Ajude a manter nossa criação de conteúdo e operação em funcionamento

Estrutura WebMundi | Sites e Canal Youtube

Ter presença na Internet implica em custos como:

  • Domínios (www.webmundi.com / www.webmundi.org)
  • Hospedagem (local onde fica a estrutura do site / páginas / banco de dados)
  • Softwares (programas utilizados para montar e manter o site em operação e edição de vídeo)
  • Layout e Desenvolvimento (profissionais que constroem, mantêm e divulgam o site e o canal)
  • Produção de Conteúdo (Profissionais como Redatores, Produtores, Editores de vídeo, etc…)
  • Certificados de Segurança (cadeado / segurança da página, possibilita a segurança na navegação e seus dados)
  • Manutenção do Site (atualizações do site, criação de novas páginas)

Loja Virtual | WebMundi.com

Outra forma de apoiar a criação de conteúdo no YouTube e em nossos sites é nossa loja virtual

Parceria do WebMundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Nossa loja é integrada com nossos parceiros associados e possui uma ampla variedade de produtos de marcas renomadas.
O Cliente ao escolher um produto é direcionado a loja parceira onde pode fazer sua compra com tranquilidade em um ambiente seguro e 100% confiável.

Confira:

Loja Virtual WebMundi.com

Alguns de nossos parceiros associados:

AliExpress Parceiro Magalu Amazon Associados

Obrigado pela confiança e preferência.

TALVEZ VOCÊ GOSTE TAMBÉM

Mais Assistidos
Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
Play Video about Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
atualizar windows 7 para windows 10 2020
Play Video about atualizar windows 7 para windows 10 2020
Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Play Video about Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Play Video about Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Como Instalar MySQL + MySQL Workbench : Windows 10
Play Video about Como Instalar MySQL + MySQL Workbench : Windows 10
Instalação Eclipse IDE - Windows
Play Video about Instalação Eclipse IDE - Windows

Discord : WebMundi.com

Uma comunidade apaixonada por tecnologia, onde entusiastas, estudantes e profissionais de TI se reúnem.

Faça Parte do nossa Comunidade!

Junte-se a nós para aprender, colaborar e expandir seus horizontes na área de informática! 🚀
Entrar
Recentes