Onde é armazenado o arquivo core core por manipulação do SIGQUIT?

0

De link

SIGQUIT is the dump core signal. The terminal sends it to the foreground process when the user presses ctrl-\. The default behavior is to terminate the process and dump core, but it can be caught or ignored. The intention is to provide a mechanism for the user to abort the process. You can look at SIGINT as "user-initiated happy termination" and SIGQUIT as "user-initiated unhappy termination."

$ sleep 100
^\[1]+  Done                    nohup sleep 100
Quit (core dumped)

Mas não consigo encontrar o arquivo de despejo no diretório atual. Cadê? Obrigado.

    
por Tim 26.05.2018 / 23:32

1 resposta

1

O caso geral é coberto por Como visualizar o arquivo principal (geral) .

Este caso específico é diferente. Seu valor /proc/sys/kernel/core_pattern de |/usr/share/apport/apport %p %s %c %d %P indica que seu sistema está configurado para usar o Apport para lidar com os despejos principais e que tem tratamento especial de SIGQUIT : em vez de alimentar o core dump em a ferramenta de relatório de erros do sistema, grava-a em um arquivo no diretório atual, se as configurações ulimit permitirem, e se o binário sendo descartado for legível e não setuid ou setgid. Veja a saída de ulimit -c : se for 0, você não receberá um núcleo, caso contrário, o tamanho permitido por ulimit (que pode ser "ilimitado") é suficiente para armazenar o dump principal. O suporte garante que você não receba lances de núcleo parciais: se o limite não for "ilimitado", os lances de núcleo maiores que o limite serão excluídos quando o Apport perceber que está ultrapassando o limite. O arquivo principal será nomeado core , possível seguido por . e o identificador do processo (se /proc/sys/kernel/core_uses_pid for 1).

    
por 28.05.2018 / 09:43