segunda-feira, 26 de setembro de 2016

Treinamento Básico Construindo Scripts | Usando múltiplos comandos

Treinamento Básico Construindo Scripts

Parte: A1
 
Bom, caso já tenha conhecimento em utilizar a interface de comando (CLI) para introduzir comandos e visualizar os resultados.
A chave para shell script é a capacidade de inserir vários comandos e processar os resultados de um comando para outro, até possivelmente, passando os resultados de um comando para outro.

Usando múltiplos comandos

Se você precisar executar dois comandos juntos, você pode inseri-lo na mesma linha do prompt, separados com um ponto e vírgula (;):





 
Parabéns, acabamos de escrever um shell script. Este script simples usa apenas dois comandos do shell bash. O comando date e o comando who. O comando date é executado primeiro, exibindo a date e hora atual, seguido da saída do comando who que exibe quem está conectado ao sistema.

Usando esta técnica, podemos encadear tantos comandos como quiser, até o número máximo de 255 caracteres.

Esta técnica é recomendada para pequenos scripts. Mas ter uma grande desvantagem. Devemos digitar todo o comando no prompt cada vez que quiser executá-lo.

Em vez de ter de introduzir manualmente os comandos em uma linha de comando. Podemos combinar os comandos em um arquivo de texto simples. Quando precisamos executar os comandos, simplesmente execute o arquivo de texto.
 
Até a próxima.

Raymundo César Monteiro Nunes


sexta-feira, 23 de setembro de 2016

Parando Processos em GNU/Linux

Parte crucial de um administrador de sistemas é a gerência dos processos de sistema. Um processo parou e é necessário iniciá-lo novamente, outras vezes um processo consome muito tempo de CPU é preciso para. Em todos esses casos precisamos de um comando que permita o controle. GNU/Linux segue o método Unix de comunicação entre processos.

Em sistemas GNU/Linux, processos se comunicam uns com os outros usando sinais. Um sinal de processo é uma mensagem predefinida que reconhece e pode optar por ignorar ou agir.

Desenvolvedores programam como um processo trata os sinais. Aplicações bem escritas têm a capacidade de receber e agir aos sinais padrões dos processos UNIX.

Sinal
Nome
Descrição
1
HUP
Desliga.
2
INT
Interrupções.
3
QUIT
Para a execução.
9
KILL
Incondicionalmente Termina.
11
SEGV
Produz segmento de violação.
15
TERM
Termina se possível.
17
STOP
Para incondicionalmente, mas não termina.
18
TSTP
Para ou pausa, mas continua a ser executado em segundo plano.
19
CONT
Retomou a execução após STOP ou TSTP.

Existem dois comandos em GNU/Linux que permitem o envio de sinais de processo para processos em execução.

Comando kill


Com o kill permite enviar sinais a processos com base na sua ID do processo (PID).
Por padrão, o comando kill envia um sinal TERM para todos os PIDs listados na linha de comando.
Infelizmente, podemos só usar o PID do processo em vez de seu nome, fazendo o comando kill difícil de se usar às vezes.

Para enviar sinais a processos, precisamos ser o dono do processo ou estarmos com a conta do usuário root.







O sinal TERM diz ao processo para parar gentilmente a execução. Se temos um processo que não aceite este pedido, precisamos adicionar outros sinais com o parâmetro
-s no qual permite especificar outros sinais, usando seu nome ou o número do sinal.

Como você pode ver a partir do exemplo a seguir, nenhuma saída é associado com o comando kill.



 


Para ver se o comando foi eficaz, é preciso realizar
comando ps para ver se o processo parou.

Comando killall

O comando killall é um meio poderoso para parar os processos usando seus nomes, em vez dos números PID. O comando killall permite que você use caracteres curinga.




Este exemplo mata todos os processos que começam com http, tais como os serviços http para o servidor web Apache.

Até o próximo...