Descrição de tarefas e sessões
Com o recurso do shell de controle de tarefas, uma única instância do shell pode executar e gerenciar vários comandos.
Uma tarefa é associada a cada pipeline inserido em um prompt do shell. Todos os processos em um pipeline fazem parte da tarefa e são membros do mesmo grupo de processos.
Você pode considerar um pipeline mínimo como um único comando inserido em um prompt de shell que cria uma tarefa com apenas um membro.
Somente uma tarefa por vez pode ler a entrada e os sinais gerados pelo teclado em uma janela específica de terminal. Os processos que fazem parte dessa tarefa são processos de primeiro plano do terminal de controle.
Um processo em segundo plano no terminal de controle é qualquer outra tarefa associada ao terminal. Processos em segundo plano de um terminal não podem ler a entrada ou receber interrupções geradas pelo teclado a partir do terminal, mas podem gravar no terminal. Uma tarefa em segundo plano pode estar interrompida (suspensa) ou estar em execução.
Nota
Se uma tarefa executada em segundo plano tentar ler a partir do terminal, será suspensa automaticamente.
Cada terminal é executada na sua própria sessão, e pode ter um processo em primeiro plano e qualquer número de processos em segundo plano. Uma tarefa está em apenas uma sessão, que pertence ao seu terminal de controle.
O comando ps mostra o nome de dispositivo do terminal de controle na coluna TTY. Alguns processos, como daemons do sistema, são iniciados pelo sistema, e não a partir de um terminal de controle. Esses processos não são membros de uma tarefa e não podem ser colocados em primeiro plano. O comando ps exibe um ponto de interrogação (?
) na coluna TTY para esses processos.