Forum Astuces.divers [Développement] choisir où et sous quel nom sont créés les coredump

Posté par  (site web personnel) .
Étiquettes : aucune
0
26
sept.
2006
avec un noyau 2.6, il est maintenant possible de choisir dans quel répertoire sont créés les coredump (après un segfault) et quel sera le nom du fichier core

exemple dans /tmp avec un nom du type nomduprocessus-date en sec-pid.core
echo /tmp/%e-%t-%p.core > /proc/sys/kernel/core_pattern

pour plus de détail voir man core
  • # Sacrebleu

    Posté par  . Évalué à 2.

    Mais c'est génial ! Merci :D
    • [^] # Re: Sacrebleu

      Posté par  (site web personnel) . Évalué à 1.

      Effectivement, ...
      Les codeurs de mon serveur n'ont qu'a bien se tenir !

      Comme tous les paramètres kernel du même type il est possible de le placer dans /etc/sysctl.conf (pour le mettre à chaque redémarrage).
      echo kernel.core_pattern = /tmp/%e-%t-%p.core >> /etc/sysctl.conf
      Note: il faut que le ulimit -c soit différent de 0.

      J'aime aussi la dernière remarque pour lancer une commande (peut-être même faire des trucs étranges - en lançant le programme qui fait un core quand il fait un core).

      Extrait de /usr/src/linux/Documentation/sysctl/kernel.txtsysctl/kernel.txt
      . corename format specifiers:
      % '%' is dropped
      %% output one '%'
      %p pid
      %u uid
      %g gid
      %s signal number
      %t UNIX time of dump
      %h hostname
      %e executable filename
      % both are dropped

      . If the first character of the pattern is a '|', the kernel will treat
      the rest of the pattern as a command to run. The core dump will be
      written to the standard input of that program instead of to a file.

      @+
      ---
      En cours: http://pidginsvn.dyndns.org Pidgin via svn au lieu de monotone.

      linux / linux / linux

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.