créer un processus indépendant de bash

J’ai écrit un programme qui calcule la quantité de batterie disponible dans mon ordinateur portable. J’ai également défini une valeur seuil dans le programme. Lorsque le niveau de la batterie tombe en dessous du seuil, je souhaite appeler un autre processus. J’ai utilisé system (“./ invoke.o”) où invoke.o est le programme que je dois exécuter. J’exécute un script qui exécute le programme de vérification du niveau de la batterie toutes les 5 secondes. Tout fonctionne bien, mais lorsque je ferme le shell bash, l’invocation automatique de invoke.o ne se produit pas. Comment devrais-je faire invoke.o être invoqué indépendamment du fait que bash soit fermé ou non ??. J’utilise UBUNTU LINUX

Essayez de l’exécuter en tant que: nohup ./myscript.sh , où la commande nohup vous permet de fermer le shell sans mettre fin au processus.

Vous pouvez exécuter votre script en tant que tâche cron. Cela permet à cron de configurer l’entrée et la sortie standard, de replanifier le travail et d’envoyer un courrier électronique en cas d’échec.

L’alternative consiste à exécuter un script en arrière-plan avec toutes les entrées et sorties, y compris la sortie d’erreur standard, redirigées.

Bien que vous puissiez créer un bon démon avec votre programme, ce genre d’effort n’est probablement pas nécessaire.

  1. homme nohup
  2. homme parvenu
  3. man 2 setsid (plus complexe, conduit à un plus long chemin de chapelure lors du lancement d’un démon).