Bonjour,
Je développe un script Ruby sur Linux et j'aimerais que celui-ci soit singleton. C'est-à-dire, plus précisément, que j'aimerais qu'au démarrage, mon script vérifie s'il roule déjà pour l'utilisateur l'ayant lancé et, si c'est le cas, qu'il quitte sans plus de procès.
Mon idée de base était la suivante:
Mais c'est Ruby qui roule le script alors mon processus s'appelle ruby et ce n'est pas une bonne manière de l'identifier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 scriptName = $0.split("/") scriptName = scriptName[scriptName.length-1] sameProcess = `ps -U '#{ENV['USER']}' -o pid -o comm | grep '\\b#{scriptName}$'`
Quelqu'un aurait une meilleure idée?
A+
Partager