Como executar o programa do shell bash sem executar no processo de shell

1

Se você executar o comando Nemo do bash shell, você não poderá executar nenhum outro comando desse shell até terminar o processo do Nemo.

E esse é o meu problema. Eu quero ser capaz de executar outros comandos sem ter que abrir um outro shell e sem ter que terminar o processo iniciado.

    
por Scarass 23.12.2016 / 13:35

2 respostas

8
exec Nemo

não executaria Nemo em um sub-processo do shell , isto é, executaria Nemo no processo do shell, portanto substitua o shell por Nemo .

Mas não parece que é isso que você quer.

O que parece que você quer aqui é o comando para executar em um processo separado, mas para o shell não esperar para que o processo termine antes de emitir o próximo prompt.

Para isso, você usaria:

Nemo &

Executa Nemo de forma assíncrona. Quando é feito a partir de um shell interativo, Nemo também é colocado em segundo plano para ser impedido de ler o terminal ou de ser morto por um SIGINT se você pressionar Ctrl + C.

Observe que o comando ainda estará na tabela de tarefas do shell. Você pode colocá-lo de volta em primeiro plano com fg . O shell também tentará matá-lo quando sair (pelo menos em alguns shells).

Com alguns shells incluindo bash , você também pode usar o comando disown para dizer ao shell para esquecê-lo. Com zsh , você também pode iniciá-lo como:

Nemo &!

para iniciá-lo no plano de fundo e ignorá-lo imediatamente.

    
por 23.12.2016 / 13:45
1

Você quer dizer como executar um comando em segundo plano?

Você pode concluir esse comando com "&"

Exemplo:

$ nemo &
    
por 23.12.2016 / 13:39

Tags