No Bash & ksh, você pode fazer com que todas as stdout desapareçam anexando 1>/dev/null
ao comando.
Para csh e tcsh é $1>/dev/null
Eu gostaria de poder executar tarefa (s) no fundo de um shell e não ter sua saída para stdout ou stderr cobrir a linha de comando na parte inferior. Freqüentemente preciso executar outros comandos para interagir com os processos em segundo plano e gostaria de fazer isso a partir do mesmo shell sem ter que abrir outro terminal ou usar o multiplexador para dividir o terminal como uma tela.
O ideal seria que houvesse alguma configuração que eu simplesmente não conheça (normalmente uso o bash ou o ksh), mas um shell ou script novo ou diferente ficaria bem para mim.
Estou aberto a qualquer sugestão e agradeço qualquer ajuda, obrigado.
Editar: Obrigado por todas as suas respostas, mas a minha pergunta foi um pouco incerta. Eu ainda preciso assistir a saída das tarefas em segundo plano como ele sai, gostaria apenas de não cobrir quaisquer novos comandos que eu poderia estar digitando na linha de comando. Idealmente, a saída dos programas em segundo plano seria exibida em todos, menos na linha inferior do shell, deixando-me livre para construir novos comandos nessa linha.
Isso seria semelhante à tela em execução com uma divisão horizontal em que a janela inferior tinha apenas 1 a 2 linhas de altura, mas a utilização da tela apresenta as seguintes desvantagens para os meus propósitos:
Obrigado novamente pela sua ajuda, esta foi a minha primeira pergunta e fiquei impressionado com a velocidade e quantidade das respostas!
No Bash & ksh, você pode fazer com que todas as stdout desapareçam anexando 1>/dev/null
ao comando.
Para csh e tcsh é $1>/dev/null
mycommand > /dev/null 2>&1
Isto irá redirecionar stderror (2) para stdout (1) para / dev / null
Na página da Wikipédia 'nohup' para expandir as respostas já dadas ...
nohup ./myprogram > foo.out 2> foo.err < /dev/null &
nohup permite que o processo continue depois que você terminar o shell, caso precise fazer isso. O '>' e '<' redirecionar a saída para um 'arquivo' qualquer que seja o arquivo. Em alguns dos exemplos, dado que o arquivo é apenas / dev / null. O '&' diz ao shell para colocar o processo em segundo plano e continuar aceitando a entrada, já que o OP provavelmente já sabe.
Dependendo da segurança do administrador do sistema em relação à sua segurança, você pode executar o comando usando 'at'.
$ at now
date
id
^D
$
É claro que a saída (se houver) seria enviada por e-mail para você.
Tags shell unix unix-shell