domingo, 21 de fevereiro de 2016

Gerenciando processos no Linux

Controle de Execução - ps, kill

Um processo é um programa em estado de execução.

Assim, quando mais de um usuário está executando um determinado programa, existe um processo sendo executado para cada usuário que abriu aquele programa.

O shell (interpretador de comandos do Linux - por exemplo) é um programa que constantemente está sendo executado por mais de um usuário, e algumas vezes é executado mais de uma vez por um mesmo usuário (em um ambiente gráfico de janelas, por exemplo).


O controle de execução de processos é outro recurso poderoso do UNIX. Este recurso permite colocar em execução um número praticamente ilimitado de programas em execução a partir de um único shell. Além disso, processos demorados podem ser deixados em estado de background (segundo plano), permitindo ao usuário encerrar sua sessão UNIX para então analisar os resultados da execução na próxima vez que se ‘logar’ no sistema.


Depois de definir o que seria um processo, agora a gente deve saber como listar os processos que estão em execução no sistema.

Isso é realizado por meio do comando chamado: ps



O comando ps mostra o status dos processos em execução no sistema. Sem argumentos, o comando ps exibe informações somente dos processos associados ao terminal corrente. A saída do comando consiste de: process-id (PID), identificador do terminal, tempo de execução (acumulativo) e o nome do comando.

Veja a sintaxe comando:

· ps [-aelux]

Parâmetros

· -e: apresenta a linha de comando completa.

· -l: gera a saída em formato longo.

· -a: inclui informações sobre processos pertencentes a outros usuários.

· -u: produz saída orientada a usuário.

· -x: inclui processos não associados a terminais.


Exemplo de uso:

ps -aux

Este comando exibirá todos os processos do usuário logado no sistema incluindo informações sobre processos pertencentes a outros usuários e também os processos não associados a terminais.

Até aqui vimos somente como listar os processos do sistema que pode estar relacionado ou não ao usuário logado no sistema. Agora vamos para uma parte mais interessante que é: como cancelar um processo nos sistemas GNU.


Cancelando Processos – kill (ou simplesmente encerrando o processo)


Se, por algum motivo, um usuário quiser cancelar um processo que lhe pertença, o comando kill fará o trabalho. Em geral, utiliza-se o comando kill para cancelar processos que aparentemente “travaram” e não conseguem terminar sua execução normalmente, ou ainda, para processos que não respondem ao CTRL+C para cancelamento de execução. Somente o superusuário pode “matar” processos de outros usuários. Nos sistemas Windowns quando isso acontece a gente faz esse trabalho pelo o gerenciador de tarefas dos sistemas.

Vejamos a sintaxe do comando:


· kill [-sinal] pid ...

· kill -l

em que:

· sinal: se este parâmetro não for especificado, o comando kill envia o sinal 15 (terminate) para os processos especificados pelo parâmetro pid. Se um nome de sinal ou um número precedido de ‘-’ é dado, este é enviado ao invés do sinal TERM (terminate). Quando deseja-se cancelar um processo que não responde ao kill padrão (sinal 15), utiliza-se o sinal 9 (KILL).

· pid: o parâmetro pid especifica o process-id correspondente ao processo que se deseja enviar um sinal. Para descobrir o PID de um processo, basta utilizar o comando ps e olhar na coluna PID o número correspondente ao processo desejado.

· -l: invocando kill com a opção ‘-l’, é apresentada a lista dos nomes de sinais aceitos pelo comando.


Exemplo de uso:

kill -9 4450

o tempo estiver sobrando.
Por hoje é só. poderei estar fazendo uma revisão neste post quando

Espero que as informações aqui sejam úteis para alguém, e sempre será...

Bons estudos para todos!!!

Até o próximo!!!!!

Comandos Básicos do Linux



Comandos de manipulação de diretório

ls - Lista o conteúdo do diretório atual.

ls -alh - Mostra o conteúdo detalhado do diretório

ls -a - Exibe os arquivos "ocultos" de um diretório.

ls -ltr - Mostra os arquivos no formado longo(l) em ordem inversa(r) de data (t)

cd - Entra em um diretório (exemplo: cd campus; cd colinas; cd / ). Entra nos diretório chamado campus, colinas e o diretório raiz.

cd / - Muda para o diretório raiz.

cd ~ - vai direto para o diretório home do usuário logado.

cd -- volta ao último diretório acessado

pwd - Exibe o nome do diretório atual.

mkdir - Cria um diretório. Exemplo: mkdir docs (Cria o diretório por nome docs).

Este comando quer dizer: Make Directory - Cria Diretório

rmdir - Exclui um diretório (se estiver vazio)

Este comando é utilizado para remover/deletar um diretório que não tenha conteúdo, que pode ser arquivos ou outros diretórios.



rm -rf - Exclui um diretório e todo o seu conteúdo (cuidado com este comando!)

No caso do camando rm -rf, ele remove um diretório mesmo que não esteja vazio. Esse comando remove de forma recursiva.


df - Mostra a utilização dos sistemas de arquivos montados

du -msh - Mostra o tamanho do diretório em Megabytes

whereis - Mostra onde se encontra determinado arquivo (binários) exemplo: whereis samba

who : Exibe o nome do usuário que está logado.

clear: comando utilizado quando se deseja limpará o terminal de comandos/shell.

cal: Esse comando simplesmente vai exibir o calendário na tela do shell.

date: É um comando que ao digitá-lo, exibirá a data atual do sistema também na tela.

chfn: É utilizado quando se quer alterar as propriedades de algum usuário do sistema. Ao digitá-lo ele solicitará que você entre com novas informações sobre determinado usuário. Tais informações pode ser: número do telefone residencial, número do telefone celular entre outras coisas.

exit: Este comando como na maioria das aplicações serve para fechá-la. Aqui dependendo que como se encontra, ele somente fecha a sessão de um usuário. Ou faz o que seria o mais adequado, fecha mesmo o terminal.



Bom, a intenção deste post não era aprofundar nos comandos do Linux mas, mostrar uns comandos que já te fornece uma base de manipulação do sistema utilizando o terminal de comandos.

No próximo post, estarei escrevendo sobre comandos de controle de execução de processos e também permissões em arquivos e diretórios do sistema.

Por enquanto é isso!

sexta-feira, 19 de julho de 2013

Comandos para manipulação de arquivos



Olá a todos!

Nesse post vamos conhecer alguns dos comandos utilizados para a manipulação de arquivos no sistema operacional Linux.

Alguns dos comandos são bem fáceis de entender, outros requerem mais esforço do utilizador.

Então vamos lá!

O primeiro comando serve para visualizar o conteúdo de arquivos. Esse comando é o cat.


# cat


Descrição: Mostra o conteúdo de um arquivo binário ou texto puro.



Exemplo de uso:

# cat vida.txt (será mostrado na tela o conteúdo do arquivo vida.txt; se este não estiver vazio!)



# tac -- semelhante ao cat mas inverte a ordem do arquivo original.


# tail -- mostra as últimas 10 linhas de um arquivo (útil para ler logs)



# head -- mostra as primeiras 10 linhas de um arquivo



# less -- mostra o conteúdo de um arquivo de texto com controle da visualização do conteúdo.

# more -- mostra o conteúdo de um arquivo de texto com controle da visualização do conteúdo. Interessante para quando temos arquivos com mais de uma página a ser visualizada.


# rm -- remoção de arquivos (também remove diretórios)

exemplo: rm Linux.pdf


# cp -- copia diretórios 'cp -r' copia recursivamente

exemplo: cp Linux.pdf /home/aluno/comandos - copia o arquivo Linux.pdf para o diretório comandos localizado na diretório inicial do usuário aluno.


# mv -- move ou renomeia arquivos e diretóriosexemplo: mv apostila.doc /home/aluno/estudo - move o arquivo apostila.doc para o diretório estudo localizado na diretório inicial do usuário aluno.


# touch -- comando para a criação de arquivos sem conteúdos (arquivos vazios)


Exemplo:

# touch levi_rodrigues.txt - cria o arquivo levi_rodrigues.txt vazio
# ls -lh /etc > levi_rodrigues.txt