O que é o descritor de arquivo 10?

1

O que é o descritor de arquivo 10?

Exemplo do mundo real (em que a saída padrão é ignorada, o erro padrão é redirecionado para a saída padrão e os dados do descritor de arquivo 10 são redirecionados para a saída padrão) que perdi a documentação / contexto para:

./cluexec21nodes 'mkdir /home/mortense/sambapub;cd /home/mortense/sambapub;./runcola.sh >/dev/null 2>&1 10>&1 &'

Os descritores de arquivo padrão

0   Standard Input (stdin)
1   Standard Output (stdout)
2   Standard Error (stderr)

mas o que é o descritor de arquivo 10?

Isso foi usado em um sistema Linux (possivelmente Red Hat).

    
por Peter Mortensen 10.05.2012 / 14:29

3 respostas

3

Além dos descritores de arquivos padrão, há 3-1024. Estes podem ser criados em scripts com o

exec 10<> afilename

A partir deste ponto, qualquer coisa escrita no descritor de arquivo 10 será gravada em afilename

Quando você tiver

./script.sh 10>&1 

Você está redirecionando tudo o que teria ido para o descritor de arquivo 10 para stdout.

Você desejará revisar o script runcola.sh para ver por que ele está fazendo isso.

    
por 10.05.2012 / 14:51
0

Os descritores de arquivos não são fixos; o programa pode usá-los da maneira que quiser. (Mesmo 0-2 fd pode ser fechado, aberto, reutilizado.)

Neste caso, o fd 10 parece ser escolhido arbitrariamente; pode ser que ./runcola.sh espere poder escrever algumas informações adicionais para ele. Você terá que ler o script para saber com certeza.

    
por 10.05.2012 / 14:49
0

O descritor 10 é usado para comentários.

A Wikipedia tem um bom artigo inicial em Descritor de arquivos . É um pouco enganador dizer que a sintaxe sh "redireciona" um descritor para outro. Fontes sólidas de informação podem ser encontradas em "O Design do Sistema Operacional UNIX". A documentação do sistema chama dup(2) e dup2(2) revela um bom negócio.

grawity , Paul e outros (você sabe quem você é) também podem conhecer alguns recursos adicionais. Gente?

    
por 22.05.2017 / 02:51