O processo que está fazendo a recursão na extremidade remota está sendo executado como superusuário e recursou em /dev/fd . Vários de seus descritores de arquivos abertos são para diretórios que estão em processo de leitura como parte da recursão. Uma vez que eles se parecem com subdiretórios enquanto percorrem /dev/fd , eles estão sendo recursivos novamente.
É até mesmo possível determinar quais descritores de arquivos abertos estão abertos para quais diretórios:
-
O descritor de arquivo
- # 3 está aberto para
/
O descritor de arquivo - # 5 está aberto para
/dev/fd
O descritor de arquivos - # 31 está aberto para
/dev
Alcançou, por meio de uma rota longa e tortuosa, um ponto em que está tentando abrir e copiar /dev/rd/c6d16 , que não corresponde a um dispositivo físico.
Sempre tenha cuidado com os comandos, especialmente aqueles executados com privilégios de superusuário, que acabarão tentando abrir e copiar ingenuamente todos os arquivos em /dev , /device , /proc , /sys e assim por diante. Isso tem sido insensato desde os dias em que /dev estava cheio de dispositivos de fita (às vezes com retrocesso automático / retensionamento automático) e dispositivos de terminal que bloqueariam uma chamada aberta até que a portadora fosse detectada.
Garanta que, se você realmente quiser copiar /dev , o que provavelmente não , dado que nos sistemas operacionais modernos seu conteúdo é determinado dinamicamente em tempo de execução, use um comando que copie arquivos de dispositivos especiais, FIFOs, soquetes e links simbólicos como eles próprios, em vez de tentar abrir e ler arquivos como se fossem arquivos normais. (Ou que open() deles e, em seguida, fstat() para determinar se eles são dispositivos especiais, o que falhará nos arquivos do dispositivo que geram erros em open() .)