Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Além disso, o Linux é baseado em UNIX, onde é política comum ter vários usuários executando vários comandos, ao mesmo tempo e no mesmo sistema. É óbvio que medidas devem ser tomadas para que a CPU gerencie todos esses processos, e essa funcionalidade deve ser fornecida para que os usuários possam alternar entre os processos. Em alguns casos, os processos terão que continuar em execução mesmo quando o usuário que os iniciou se desconectar. E os usuários precisam de um meio para reativar processos interrompidos.


Explicaremos a estrutura dos processos do Linux nas próximas seções.


imagem

4.1.2. Tipos de processo


4.1.2.1. Processos interativos


Os processos interativos são inicializados e controlados por meio de uma sessão de terminal. Em outras palavras, deve haver alguém conectado ao sistema para iniciar esses processos; eles não são iniciados automaticamente como parte das funções do sistema. Esses processos podem ser executados em primeiro plano, ocupando o terminal que iniciou o programa, e você não pode iniciar outros aplicativos enquanto este processo estiver sendo executado em primeiro plano. Como alternativa, eles podem ser executados em segundo plano, para que o terminal no qual você iniciou o programa possa aceitar novos comandos enquanto o programa está sendo executado. Até agora, nos concentramos principalmente em programas em execução em primeiro plano - o tempo necessário para executá-los era muito curto para notar - mas visualizar um arquivo com o menos command é um bom exemplo de um comando que ocupa a sessão do terminal. Nesse caso, o programa ativado está esperando que você faça algo. O programa ainda está conectado ao terminal de onde foi iniciado e o terminal só é útil para inserir comandos que este programa possa entender. Outros comandos irão apenas resultar em erros ou


falta de resposta do sistema.


Enquanto um processo é executado em segundo plano, no entanto, o usuário não é impedido de fazer outras coisas no terminal em que iniciou o programa, enquanto ele está em execução.


O shell oferece um recurso chamado controle de trabalho o que permite fácil manuseio de vários processos. Este mecanismo alterna os processos entre o primeiro e o segundo plano. Usando este sistema, os programas também podem ser iniciados em segundo plano imediatamente.


imagem

Executar um processo em segundo plano só é útil para programas que não precisam de entrada do usuário (via shell). Colocar um trabalho em segundo plano geralmente é feito quando se espera que a execução de um trabalho leve muito tempo. Para liberar o terminal de emissão após inserir o comando, um E comercial à direita é adicionado. No exemplo, usando o modo gráfico, abrimos uma janela de terminal extra a partir da existente:


Billy: ~> xterm &

[1] 26558


Billy: ~> empregos

[1] + Corrida

xterm &

Billy: ~> xterm &

[1] 26558


Billy: ~> empregos

[1] + Corrida

Os recursos de controle de trabalho completo são explicados em detalhes no bater Páginas de informações, portanto, apenas os aplicativos de controle de trabalho usados ​​com frequência são listados aqui:


Tabela 4-1. Processos de controle


(parte do) comando

Significado

comando_regular

Executa este comando em primeiro plano.

comando &

Execute este comando em segundo plano (libere o terminal)

empregos

Mostra os comandos em execução em segundo plano.

Ctrl+Z

Suspender (parar, mas não encerrar) um processo em execução em primeiro plano (suspender).

Ctrl+C

Interromper (encerrar e encerrar) um processo em execução em primeiro plano.


%n

Cada processo em execução em segundo plano recebe um número atribuído a ele. Ao usar a expressão%, um trabalho pode ser referido usando seu número, por exemplo fg %2.

bg

Reative um programa suspenso em segundo plano.

fg

Coloca o trabalho de volta em primeiro plano.

matar

Finalize um processo (veja também Comandos internos de shell nas páginas de informações do bater)

Mais exemplos práticos podem ser encontrados nos exercícios.


A maioria dos sistemas UNIX são capazes de executar tela, o que é útil quando você realmente deseja que outro shell execute comandos. Ao ligar tela, uma nova sessão é criada com um shell de acompanhamento e / ou comandos conforme especificado, que você pode eliminar. Nesta nova sessão, você pode fazer o que quiser. Todos os programas e operações serão executados independentemente do shell de emissão. Você pode então desanexar esta sessão, enquanto os programas iniciados nela continuam a ser executados, mesmo quando você sai do shell de origem, e escolhe seu tela novamente a qualquer hora que você quiser.


Este programa se originou de uma época em que os consoles virtuais ainda não eram inventados e tudo precisava ser feito em um único terminal de texto. Para os viciados, ainda tem significado no Linux, embora já tenhamos consoles virtuais há quase dez anos.


imagem


4.1.2.2. Processos automáticos


Os processos automáticos ou em lote não estão conectados a um terminal. Em vez disso, essas são tarefas que podem ser enfileiradas em uma área de spooler, onde aguardam para serem executadas em uma base FIFO (primeiro a entrar, primeiro a sair). Essas tarefas podem ser executadas usando um de dois critérios:


. Em uma determinada data e hora: feito usando o at comando, que discutiremos na segunda parte deste capítulo.

. Às vezes, quando a carga total do sistema é baixa o suficiente para aceitar trabalhos extras: feito usando o fornada comando. Por padrão, as tarefas são colocadas em uma fila onde aguardam para serem executadas até que a carga do sistema seja inferior a 0.8. Em ambientes grandes, o administrador do sistema pode preferir o processamento em lote quando grandes quantidades de dados precisam ser processadas ou quando tarefas que exigem muitos recursos do sistema precisam ser executadas em um sistema já carregado. O processamento em lote também é usado para otimizar o desempenho do sistema.


imagem

4.1.2.3. demônios


Top OS Cloud Computing na OnWorks: