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
A 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]
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).
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.
-
Primeiro Plano : Foreground.
É Quando você precisa esperar o término da execução de um programa para executar um novo comando no terminal. -
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.
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ê:
- Como instalar o Linux Mint 20 no Virtualbox 6.1 : Windows 10
- Como Instalar o SQL Developer Oracle no Linux
- Como Instalar o Servidor XAMPP no Linux – Localhost Apache MySQL PHP
- Instalação e configuração do Flutter no Windows 10
- Sobre as oportunidades em desenvolvimento Java
- Como Instalar Tema Escuro no Netbeans : Dark Mode
- Como atualizar o Windows 7 para Windows 10 Grátis
- Como aumentar sua produtividade no Windows com teclas de atalho
- Como se conectar a um computador remoto via Prompt de Comando
- Como Instalar o SQL Developer Oracle no Linux
- DBeaver : Alternativa ao SQL Server Management Studio Linux
- Como listar as maiores tabelas ou objetos Oracle
Loja WebMundi.com : Informática
-
Nova xiaomi tws fone de ouvido sem fio bluetooth 5.0 dual estéreo à prova d’ água esportes hd chamada earbud controle de toque fone de ouvido longo standby
-
Divoom Timebox Evo Bluetooth Portable Speaker with Clock Alarm Programmable LED Display for Pixel Art Creation Unique Gift
-
MIFA F10 Outdoor Wireless Bluetooth Stereo Portable Speaker Built-in mic Shock Resistance IPX6 Waterproof Speaker with Bass
-
Xcell XC-CM-19 Anvil aux 3,5mm Stereo Surround Music RGB Speakers Computer Sound Bar 2.0 PC Notebook Box
+ 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