Comment vérifier un processus en cours avec Ruby?

- Je utiliser un scheduler (planificateur de Rufus) afin de lancer un processus appelé "ar_sendmail" (à partir de ARmailer), à chaque minute.

Le processus ne devrait PAS être lancé quand il y a déjà un processus en cours d'exécution afin de ne pas manger de la mémoire.

Comment puis-je vérifier pour voir si ce processus est déjà en cours d'exécution? Ce qui se passe après la unless ci-dessous?

scheduler = Rufus::Scheduler.start_new

  scheduler.every '1m' do

    unless #[what goes here?]
      fork { exec "ar_sendmail -o" }
      Process.wait
    end

  end

end

source d'informationauteur TomDogg