Como ativar arquivos principais no CentOS 6

2

Estou tentando habilitar arquivos principais em uma máquina que executa o CentOS 6; no entanto, nada que eu tentei produziu arquivos principais ... aqui está o que eu fiz:

Adicionadas as duas linhas a seguir a /etc/security/limits.conf :

*     hard    core    unlimited
*     soft    core    unlimited

Adicionada a linha a seguir a /etc/sysconfig/init :

DAEMON_COREFILE_LIMIT='unlimited'

Adicionada a linha a seguir a /etc/profile :

ulimit -c unlimited > /dev/null 2>&1

Adicionadas as seguintes linhas a /etc/sysctl.conf :

kernel.core_pattern = '/srv/core/%p_%t.core'
fs.suid_dumpable = 1

Assegurei-me de que /srv/core exista e tenha 777 permissões. O eu executei init 6 para reiniciar o sistema operacional. Quando o sistema voltou a funcionar, executei o seguinte script em C na tentativa de produzir um arquivo principal:

#include <sys/types.h>
#include <unistd.h>
#include <signal.h>

int main(int argc, char **argv) {
  kill(getpid(), SIGQUIT);
}

Não produz um arquivo principal: (

O que estou perdendo ou fazendo errado? Agradecemos antecipadamente por sua ajuda!

    
por Kabb5 02.05.2014 / 21:08

2 respostas

2

Se o seu programa estiver sendo executado como root, as entradas limits.conf adicionadas não serão aplicadas. "*" aplica-se a todos os usuários, exceto root.

Se o seu programa estiver sendo executado como root, adicione o seguinte:

root     hard    core    unlimited
root     soft    core    unlimited

Além disso, certifique-se de que o SELinux não esteja impedindo a gravação do dump principal.

getenforce

Se o SELinux estiver em execução, verifique se a auditoria está em execução, tente obter o dump principal e faça:

grep -i denied /var/log/audit/auditd
    
por 01.01.2015 / 02:07
1

O problema provavelmente é que o caminho é citado para core_pattern. Tente isso:

kernel.core_pattern = /srv/core/%p_%t.core
    
por 11.10.2015 / 12:39