Être sûr qu'un programme ne sera lancé qu'une fois à la fois

Pas mal, je ne connaissais pas du tout.

Par contre ça n’a pas vraiment la même utilisation :

[quote=“man”]Once a file is locked, the lock must be touched at least once every
five minutes, or it will be considered stale and a subsequent attempt
to lock the file will succeed. For both of the locking commands
(mail-touchlock and lockfile-touch), the --oneshot argument causes the
program to touch the lock and exit immediately. Otherwise the program
will loop forever, touching the lock once every minute until it is
killed.[/quote][quote=“man”]Locking a file during a lengthy process:

lockfile-create /some/file
lockfile-touch /some/file &

Save the PID of the lockfile-touch process

BADGER="$!"
do-something-important-with /some/file
kill "${BADGER}"
lockfile-remove /some/file[/quote]

Cela dit, ça peut avoir des avantages que la “simple” création d’un fichier n’a pas (par ex. le déverrouillage automatique au bout de 5mn) et vice-versa.

Le plus gros danger avec cette méthode c’est que si le script est killé pendant la phase “do-something-important-with /some/file” alors le process lockfile-touch continue à tourner en tâche de fond. Pour déverrouiller le fichier il faut alors killer le bon process (en partant du principe que plusieurs scripts de ce type tournent) ce qui est un peu plus casse pieds que de supprimer un bête fichier.