init : articles varlog (migration depuis rsync)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{"uuid":"57d5fbd4-0bd2-44a1-896c-151aa527f713","slug":"execution-unique-d-un-script-bash","title":"Exécution unique d'un script BASH","author":"cedric@abonnel.fr","published":true,"published_at":"2020-12-25 22:14:45","created_at":"2020-12-25 22:14:45","updated_at":"2020-12-25 22:14:45","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# Exécution unique d'un script BASH\n\n\nIl arrive que l'on est besoin d'exécuter de manière un script. C'est à dire que le script ne doit pas démarré alors que le précédent lancement n'est pas terminé.\n\nIl faut savoir que lorsqu'un script ou un programme s'exécute, le système d'exploitation lui attribue un identifiant unique, appelé **process id**.\n\nLe script doit s'assurer une execution unique. Pour se faire, il déclarera son **process id** dans un fichier. Le fichier sera consulté systématiquement au démarrage. Si le **process id** est toujours en cours d'exécution, alors l'exéction qui vient de démarrer, s'arrêtera.\n\nVoici l'algo proposé :\n```\nlire le process id dans le fichier\nle process existe-il encore ?\nsi oui\n alors EXIT\nsinon\n remplacer le process id par le notre\n continuer l'execution du script\n \n \n...\n\nsupprimer le fichier contenant le process id\n```\n\nEn BASH, voici le code proposé pour un script de sauvegarde :\n```BASH\nif [ -f /root/save.pid ]; then\n pid_in_file=$(cat /root/save.pid)\n if [ -d /proc/$pid_in_file ]; then\n echo -e Une sauvegarde est en cours\n exit;\n else\n rm /root/save.pid\n fi\nfi\necho $$>/root/save.pid\n\n....\n\nrm /root/save.pid\n```","featured":false,"tags":[]}
|
||||
Reference in New Issue
Block a user