Vc pode usar um FIFO sim e foi exatamente isso que pensei qdo li a primeira parte da sua resposta. Veja aqui<https://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo011#Bloqueio_de_arquivo>como usei-o para simular um lock em um CGI contador de acessos (que dá muita colisão). Abraços, Julio Cursos de Shell e Zenity em 2 fins de semana? - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - No RJ ligue (21) 2561-0867; - Turmas fechadas em outras cidades ligue (21) 8112-9988.
2009/9/17 Arkanon <[email protected]> > > > 2009/9/16 Julio C. Neves <[email protected] <julio.neves%40gmail.com>> > > > > > Procure no histórico da lista que vc achará um screensaver que fiz, > imitando > > o Matrix. Creio que se usar matrix como palavra chave vc achará. > > Bom dia, Julio. Obrigado pela sugestao. > > Olhei o script, mas vi que o principio dele eh diferente do meu. > > O seu escreve um caracter por vez na tela partindo de um unico > processo. Nao ha concorrencia pelo uso do cursor de texto. > > O meu, por imprimir varios caracteres aleatoria e simultamneamente > atraves do lancamento em background de varios processos do loop de > escrita, pode (e de fato varias vezes acontece) de algum processo > iniciado estar, por azar, tentando escrever o seu caracter na tela no > mesmo momento que outro. > > Sei que eh possivel produzir um efeito semelhante criando um array de > posicoes e entao, aleatoriamente, ir pegando as posicoes e trocando as > cores dos caracteres. Mas isso seria um controle por parte do script e > exigiria uma implementacao. Nada contra, mas... > > ... a minha ideia eh tentar evitar ter que implementar esse controle > usando o fato que varios processos rodando simultaneamente em > background resultam num controle semelhante, mas automatico, usando > uma caracteristica do bash. So que ai eu caio nesse problema de > eventual concorrencia. Entao, ou eu encontro uma forma de fazer um > processo "perceber" se o cursor esta ocupando no momento em que o > sleep aleatorio terminou, e portanto ele deve esperar mais um > pouquinho, ou precisarei abandonar essa abordagem e partir para a > implementacao citada acima. > > Eu poderia usar arquivos de lock para isso, mas parece meio brutal > para algo tao instantaneo e simples como escrever um caracter. > > Outra ideia que me passou pela cabeca eh de alguma forma usar um fifo > para por uma ordem no uso do cursor, mas nao sei se isso eh possivel > com alguma caracteristica padrao do bash. > > Alguma dica? > > [] > > -- > (o_ ------------------ __o > //\ [email protected] <arkanon%40lsd.org.br> _`\<, > V_/_ --- www.lsd.org.br (_)/(_) > --------------------------------- > > [As partes desta mensagem que não continham texto foram removidas]
