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