Você pode colocar o comando multimon inteiro em um script de shell e executá-lo com aoss , ou iniciar outro shell dentro de aoss :
(shell 1) $ aoss bash
(shell 2) $ multimon -a DTMF > test.txt
(shell 2) $ exit
(shell 1) $
Estou usando um aplicativo que requer recursos . Os resultados precisam ser anexados a um arquivo. Quando escrevo estes comandos, o arquivo está sempre vazio:
aoss multimon -a DTMF | tee test.txt
aoss multimon -a DTMF > test.txt
aoss multimon -a DTMF >> test.txt
Eu acredito que o problema é que o log de arquivos está apontando para aoss , em vez de multimon -a DTMF , porque o último é realmente um argumento para o primeiro. Existe uma maneira de registrar o comando argument e, ainda assim, tornar o aplicativo executável? ( multimon -a DTMF é um comando do terminal usando um aplicativo chamado multimon para decodificação de DTMF)
Você pode colocar o comando multimon inteiro em um script de shell e executá-lo com aoss , ou iniciar outro shell dentro de aoss :
(shell 1) $ aoss bash
(shell 2) $ multimon -a DTMF > test.txt
(shell 2) $ exit
(shell 1) $
A maneira como o aoss (um script de shell muito pequeno) funciona é pré-carregando uma biblioteca especial usando LD_PRELOAD . Você pode definir essa variável manualmente também:
export LD_PRELOAD='/usr/$LIB/libaoss.so'
multimon --etc --etc --etc > test.txt
I believe the problem is that the file logging is pointing to
aoss, rather thanmultimon -a DTMF, because the latter is actually an argument to the first.
Essa não é a causa. Quando o processo X abre ou fecha arquivos (por exemplo, configura o redirecionamento) e inicia o processo Y, o novo processo herda os arquivos recém-abertos. Em outras palavras, o shell apenas configura o redirecionamento e executa o comando aoss multimon... fornecido, que herda a saída redirecionada do shell. Da mesma forma, quando aoss faz o seu trabalho e finalmente executa multimon -a DTMF , o processo multimon herda os mesmos redirecionamentos de aoss .
Tags alsa logging sound-card