Fórum Ubuntu Linux - PT

Suporte Técnico => Programação e Scripts => Tópico iniciado por: Komodor em 28 de Junho de 2007, 05:52

Título: Shell Script: Script para copiar a saida do comando glxgears
Enviado por: Komodor em 28 de Junho de 2007, 05:52
pessoal to tentando criar um script para que ele abra o glxgears -printfps e que eu possa pegar o resultado para uma analise.
o resultado do glxgears é gravado em um arquivo (newfile)
eu criei um script que chama o glxgears -printfps por somente glxgears para facilitar...
Código: [Selecionar]
#!/bin/sh
redirect=`glxinfo | grep '^direct rendering: *'`
echo "verificando sua placa de vídeo"
echo "---------------------------------------------------"
if [ "$redirect" = 'direct rendering: Yes' ];
then
exec glxgears& > newfile
sleep 6
killall glxgears
else
echo "Detectado: sua placa de vídeo esta com 3D desativado";
echo "por favor verifique o driver de sua placa de vídeo"
fi

eu coloquei o "&" para  que eu possa finalizar o programa,pois ele não fica executado até mandar fechar.

ali no caso eu mandei esperar por 6 segundos para que ele possa testar o glxgears uma vez, ele faz o teste durante 5 segundos

alguém pode me ajudar nesse caso? não estou conseguindo uma resposta pra esse caso...
grato
Título: Re: Shell Script: Script para copiar a saida do comando glxgears
Enviado por: Komodor em 28 de Junho de 2007, 21:24
usando echo invez do exec tambem sai na mesma:
Código: [Selecionar]
echo `glxgears`&> newfile
Título: Re: Urgencia
Enviado por: Komodor em 30 de Junho de 2007, 19:18
pessoal eu sei o quão é irritante dar um up em tópicos ou ficar pedindo respostas de novo
mas estou a vários dias procurando essa reposta e não acho nada!

acho que o pessoal interpretou que eu não pesquisei e no primeiro obstáculo já vim pedir ajudar
por favor quem puder me ajudar nesse caso
Título: Re: Shell Script: Script para copiar a saida do comando glxgears
Enviado por: clcampos em 30 de Junho de 2007, 19:29
Komodor qual seu problema? É parar o comando glxgears?

Sem tentar criar a solução para seu problema vou tentar dar uma possível solução (já que devem existir muitas).

Leia sobre o comando at (man at). Você deve conhecer o comando, e ele serve para agendar um comando. Então pensei o seguinte:

Título: Re: Shell Script: Script para copiar a saida do comando glxgears
Enviado por: Komodor em 30 de Junho de 2007, 19:39
Komodor qual seu problema? É parar o comando glxgears?

Sem tentar criar a solução para seu problema vou tentar dar uma possível solução (já que devem existir muitas).

Leia sobre o comando at (man at). Você deve conhecer o comando, e ele serve para agendar um comando. Então pensei o seguinte:

  • Antes de executar o glxgears (dentro do script) execute um outro script com o at (agende ele para 5, 10 segundos a frente, por exemplo)
  • Execute o glxgears
  • Neste segundo script você pega qual o número do processo do glxgears e da um kill nele.
  • Espero que com isto o shell script original ainda continue rodando
por esse script ele consegue rodar o glxgears e para-lo. mas eu preciso pegar a saida do glxgears. exemplo:
Código: [Selecionar]
~$ glxgears
35966 frames in 5.0 seconds = 7193.065 FPS
35675 frames in 5.0 seconds = 7134.993 FPS
essa é a saída do glxgears que eu preciso passa-lo para um arquivo de texto
por isso o "> newfile"
mas como ele esta em "&" ele não obedece o comando que manda ele colar no arquivo newfile
Título: Re: Shell Script: Script para copiar a saida do comando glxgears
Enviado por: Mythus em 03 de Julho de 2007, 16:52
Você está errando no rediresionamento da saída.
Código: [Selecionar]
$ glxgears 1>>  saidaTem que usar >> e não >

Código: [Selecionar]
[user@localhost ~]$ cat saida
9314 frames in 5.0 seconds = 1862.732 FPS
13515 frames in 5.0 seconds = 2702.491 FPS
13371 frames in 5.0 seconds = 2674.125 FPS
13745 frames in 5.0 seconds = 2748.777 FPS
13693 frames in 5.0 seconds = 2738.550 FPS
13112 frames in 5.0 seconds = 2622.394 FPS
13369 frames in 5.0 seconds = 2673.736 FPS
14221 frames in 5.0 seconds = 2844.165 FPS
14248 frames in 5.0 seconds = 2849.464 FPS
14180 frames in 5.0 seconds = 2835.922 FPS
15940 frames in 5.0 seconds = 3187.916 FPS
14609 frames in 5.0 seconds = 2921.798 FPS
13626 frames in 5.0 seconds = 2724.448 FPS
13761 frames in 5.0 seconds = 2751.218 FPS
14102 frames in 5.0 seconds = 2820.383 FPS
14063 frames in 5.0 seconds = 2812.580 FPS
12421 frames in 5.0 seconds = 2484.014 FPS
11389 frames in 5.0 seconds = 2277.697 FPS
12295 frames in 5.0 seconds = 2458.492 FPS
14085 frames in 5.0 seconds = 2816.384 FPS
11377 frames in 5.0 seconds = 2275.294 FPS
13471 frames in 5.0 seconds = 2694.196 FPS
12039 frames in 5.0 seconds = 2407.478 FPS
9020 frames in 5.0 seconds = 1803.793 FPS