Por que às vezes, quando executo um programa no terminal, ele não é executado no terminal?

Aug 15 2020

Suponha que eu tenha dois aplicativos chamados firefox e arduino. No início, digitei firefoxno terminal e ainda posso usar o terminal normalmente. Mas quando digitei arduino, não consegui mais usar o terminal e tive que colocá-lo como processo em segundo plano. Então, quais são as diferenças entre eles?

Respostas

1 VigneshSP Aug 15 2020 at 15:00

Depende de como o programa é iniciado. Existem vários modos nos quais um aplicativo pode ser iniciado, alguns deles relevantes para esta questão são o modo Daemon e o modo Foreground.

Acho que quando você inicia o Firefox, o aplicativo por padrão é iniciado como daemon, no modo daemon o aplicativo começa a ser executado slientemente em segundo plano para que nenhuma interação do usuário (apenas para um exemplo) possa atrapalhá-lo.

Mais sobre Daemon aqui .

Outro tipo é Foreground, quando você inicia seu aplicativo Arduino, ele é programado para iniciar no modo Foreground como padrão (meu palpite).

O modo Foreground faz exatamente o que você mencionou, apenas permanece no terminal até você eliminá-lo com CTRL-C ou algum outro método. O método Foreground é útil quando você deseja saber o que o aplicativo realmente está fazendo.