Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/03/2010, à 03:27

lovasoa

Économie de batterie en stoppant les processus inutiles

Bonjour à tous,

Ce message pour vous faire parvenir un petit script que je viens de finir, et qui me permet de lancer et d'arrêter certains "services" (démons) selon mes besoins. Ce script me permet déconomiser [un peu] ma batterie lorsque je ne suis pas sur secteur et que je n'ai pas besoin, par exemple, d'un serveur web.
  Le script est bien sûr libre, mais il n'est pas vraiment codé proprement. J'attends donc vos retours et suggestions...

  Il y a peu de lignes, et la moitié sont des commentaires ou des sauts de ligne roll

#!/bin/bash
#Script édité par lovasoa, qui permet de lancer et d'arrêter les scripts via une interface graphique, et selon ses besoins.

#Fonction qui permet de savoir si un processus est lancé.
#(Pour plus d'infos, man pgrep)
estlance () {
pid=$( pgrep $1)

if [ -z $pid ]
then
  return 1
else
  return 0
fi
}

#Fonction pour lancer ou arrêter un service...
#...un peu doublon de la fonction précédente...
demarreter () {
pid=$( pgrep $1)
if [ -z $pid ]
then
  gksudo -m "Vous devez rentrer un mot de passe administrateur pour lancer $1" service $1 start | zenity --progress --text="Démarrage de $1" --pulsate --auto-close
else
  gksudo -m "Vous devez rentrer un mot de passe administrateur pour arrêter $1" service $1 stop | zenity --progress --text="Arrêt de $1" --pulsate --auto-close
fi
}#Vous pouvez voir les services disponibles grâce à la commande "service --status-all".

choix=1

while [ $choix ] #Boucle de fonctionnement, on ne s'arrete pas tant que $choix n'est pas égal à 0
do

tableau="" #Initialisation du tableau

services=("lighttpd" "mysql" "cups" "pommed") #Changez les services selon ce qui vous est utile.
#Vous pouvez voir les services disponibles grâce à la commande "service --status-all".
#(Pour ceux qui se demanderaient, pommed est le démon qui gère les touches non reconnues d'office de mon Macbook)

for (( i=0; i < ${#services[@]}; i++ ))
do

#On construit la chaine tableau, qui va finalement ressembler à ça:
# "Service1 Fonctionnel Service2 Arrêté", etc.

#On inscrit le nom du service
  tableau=$tableau" "${services[i]}

#Puis son état
  if estlance ${services[i]}
  then
    tableau=$tableau" Fonctionnel" #Ici, j'aimerais pouvoir mettre "En fonction" @#!§ d'espace!
  else
    tableau=$tableau" Arrêté"
  fi
done

#On affiche le tableau
choix=$(zenity --height="300" --title="Services" --text="Choisissez un démon à lancer ou arrêter" --list --column="Nom" --column="Statut" $tableau)
#J'aurais aimé que --height soit calculé automatiquement

#On effectue l'action
demarreter $choix

done

Edit: Précision: C'est mon premier `vrai` script bash, alors soyez indulgents, s'il vous plaît.

Dernière modification par lovasoa (Le 08/03/2010, à 03:36)


Pour les pauvres idiots, il y a Windows. Pour les riches Idiots, il y a mac os. Pour moi, il y a Ubuntu.

Hors ligne

#2 Le 08/03/2010, à 19:14

lovasoa

Re : Économie de batterie en stoppant les processus inutiles

Ça n'interresse personne? Pourtant je suis sûr que mon script peut être amélioré.
big_smile


Pour les pauvres idiots, il y a Windows. Pour les riches Idiots, il y a mac os. Pour moi, il y a Ubuntu.

Hors ligne

#3 Le 11/03/2010, à 00:49

kikislater

Re : Économie de batterie en stoppant les processus inutiles

Si si ça intéresse des gens comme moi !
Mais le gain est-il visible directement ou pas ? Enfin plutôt : Quel est le gain en temps ou % ?

Merci

Hors ligne