Comment surveiller un processus pour les pannes et collecter les vidages de mémoire

J’ai un programme Java qui lance d’autres programmes et gère leur arrêt, etc.

Je voudrais collecter des fichiers core si l’un des sous-processus tombe en panne. Cela pose problème dans certains cas lorsque l’on se fie à la manière «normale» d’obtenir des vidages de mémoire:

  • sur Linux, le motif de base peut être complexe et ne crée parfois même pas de fichier. (et ceci est un paramètre global)
  • sur osx, les fichiers core dumps ne sont pas créés par défaut et la modification de ces droits nécessite des droits d’administrateur.

Essentiellement, je recherche quelque chose de similaire à Windows ProcDump

Les plates-formes qui m’intéressent sont:

  • Linux
  • OSX
  • Solaris
  • HP-UX
  • AIX

Linux et OSX sont ceux qui me causent des problèmes en ce moment, mais ce serait bien s’il y avait quelque chose que je pourrais utiliser dans tous.

Je ne peux pas modifier les sous-processus que je lance, mais je pourrais probablement les envelopper avec un script shell ou quelque chose.