Contexte:
J'écris un script de test pour un logiciel de biologie computationnelle. Le logiciel que je teste peut prendre des jours ou même des semaines pour s'exécuter, il dispose donc d'une fonctionnalité de récupération intégrée, en cas de panne du système ou de panne de courant.
J'essaie de comprendre comment tester le système de récupération. Plus précisément, je ne peux pas trouver un moyen de "planter" le programme de manière contrôlée. Je pensais en quelque sorte chronométrer une instruction SIGKILL pour qu'elle s'exécute après un certain temps. Ce n'est probablement pas idéal, car le scénario de test n'est pas garanti de fonctionner à la même vitesse à chaque fois (il s'exécute dans un environnement partagé), il serait donc difficile de comparer les journaux à la sortie souhaitée.
Ce logiciel imprime une ligne pour chaque section d'analyse qu'il effectue.
Question:
Je me demandais s'il y avait un bon moyen / élégant (dans un script shell) pour capturer la sortie d'un programme et puis tuer le programme quand une ligne / # de lignes donnée est sortie par le programme?