Posso fazer um commad ser executado em segundo plano sem produzir nenhuma saída?

0

Existe uma maneira ou uma opção para executar um comando em segundo plano sem a necessidade de esperar que ele termine para obter o prompt de volta? (assim como o comando mplayer para reproduzir um arquivo de música em segundo plano e executar outro comando enquanto ouve a música)

    
por Black Block 02.04.2015 / 01:58

2 respostas

1

Eu encontrei em um livro sobre o comando bash shell:

setsid COMMAND &> /dev/null

Aqui está um exemplo:

setsid mplayer "/home/naruto/Music/sfx_ctf_cap_pl.wv" &> /dev/null

Desta forma, seu comando é completamente invisível e eu o usei para ouvir música enquanto executava outros comandos no terminal e a música continuaria mesmo se você fechasse o terminal.

    
por Black Block 02.04.2015 / 02:36
4

Em um script, você pode fazer um processo executar o segundo plano usando:

COMMAND &

ou

COMMAND & disown

isso também funciona bem se você quiser executar algo do terminal e, em seguida, fechar o terminal, deixando o processo em execução.

Se desejar, você também deve ser capaz de ocultar a saída dos comandos (para que não apareça no fundo de um script) usando:

COMMAND >/dev/null 2>&1 & disown
    
por Wilf 02.04.2015 / 02:11