O sinal de emissão de tela GNU 28?

2

Pouco de longe ...

Estou executando um processo de longa duração que leva várias horas. O processo é a reindexação do arquivo de correspondência fuzzy do banco de dados CDDB. O processo continua parando depois de um tempo, embora o período de tempo seja variável:

# /usr/local/bin/cddbd -fdv
Generating the fuzzy matching hash file.
Scanning /home/freedb/cddb/soundtrack.
Scanning /home/freedb/cddb/lost+found.
Scanning /home/freedb/cddb/jazz.
Scanning /home/freedb/cddb/data.
Scanning /home/freedb/cddb/rock.
Scanning /home/freedb/cddb/reggae.
Scanning /home/freedb/cddb/newage.
Scanning /home/freedb/cddb/folk.
Scanning /home/freedb/cddb/misc.
Received signal 28.
Quitting, status 1.

A saída é do processo do CDDB. Eu nunca tinha visto o sinal 28 antes, e depois de algumas pesquisas existem duas possibilidades: uma "mudança de tamanho da janela" (embora pareça ser somente BSD ou Sun Unix) ou "Virtual alarm clock" (somente BSD). Estou executando isso no Ubuntu ...

Então eu me perguntei, ignorando o fato de que eu não deveria estar recebendo estes no Linux de qualquer maneira, poderia estar emitindo sinais de "mudança de tamanho da janela"?

Como eu disse, um pouco difícil!

    
por Dan Gravell 28.01.2016 / 11:06

1 resposta

3

Uma rápida leitura do código-fonte para screen mostra que ele enviaria SIGWINCH quando você se conecta a uma sessão, para informar aos programas que eles devem verificar novamente a largura × altura do terminal. Isso está em attacher.c .

SIGWINCH existe sempre no Linux - sinal (7) apenas diz "4.3BSD, Sun" porque foi quando o sinal foi introduzido , como parte do suporte pseudo-tty.

    
por 28.01.2016 / 11:29