Re: script LINUX qui arrête le PC

Page principale

Répondre à ce message
Auteur: Olivier Allard-Jacquin
Date:  
À: guilde
Sujet: Re: script LINUX qui arrête le PC
    Bonsoir

Le 17/01/2017 à 19:09, Odile Lambert a écrit :
> Bonsoir.
> malheureusement le wait ne fonctionne pas. Dans la documentation du wait
> il est fait référence à un processus fils. mais je n'ai pas dans mon cas
> de processus fils.
>
> Par ailleurs les enchainements &, && ne semble pas répondre au besoin
> car je ne connais pas le code retour de wine.
> Enfin le ; essayé ne résoud rien.
>
> Autres idées???
>
> Merci d'avance
>
> Odile


    Perso, je ferais un :


OUT=0
while [ $OUT -ne 1 ]; do

    [ -z "`ps -edf|grep "[f]oobar2000"`" ] && OUT=1
    sleep 60s
done
sudo shutdown -h now


    Explications:
- boucle infine : while [ $OUT -ne 1 ]; do
- recherche si le programme "foobar2000" est en mémoire: [ -z "`ps
-edf|grep "[f]oobar2000"`" ]
- si c'est le cas, valide la sortie : OUT=1
- attends 60s entre 2 tests de la présence de foobar2000: sleep 60s


    Le programme va donc consommer un peu de CPU toutes les 60s, l'impact
sur ta machine sera donc réduit.
    Par contre, la machine s'arrêtera avec un délai, d'au plus, 60s.



    Pour tes tests, tu remplaces le milieu du programme par


    [ -z "`ps -edf|grep "[f]oobar2000"`" ] && OUT=1 || echo -ne "."
    sleep 2s;



    Comme l'a indiqué Frédéric, le "sudo shutdown -h now" est à configurer
dans le "/etc/sudoers"


    Cordialement,


                        Olivier


> Le 17/01/2017 à 18:46, Laurent Vivier a écrit :
>> Le 17/01/2017 à 17:04, Odile Lambert a écrit :
>>> Bonjour
>>>
>>> sous Xubuntu 16.04, Je souhaiterai utiliser un vieux PC , avec un écran
>>> qui n'est pas allumé, pour jouer de la musique en utilisant foobar2000
>>> sous wine. Foobar2000 est automatiquement lancé dans wine au démarrage
>>> du PC. les tests sont concluants mais une fonction me pose problème.
>>>
>>> Il existe la possibilité avec foobar2000 de commander le logiciel à
>>> distance (avec un téléphone) et de demander la fermeture du PC à
>>> distance. je souhaite utiliser cette fonctionnalité qui marche très bien
>>> sous windows. sous wine cette commande arrête le programme foobar2000
>>> mais n'arrête pas le PC.
>>>
>>> Du coup je souhaiterai utiliser un script au démarrage du PC qui lance
>>> foobar2000 dans wine et arrête le PC lorsque foobar 2000 se termine.
>>>
>>> j'ai écrit le script suivant:
>>>
>>> #! /bin/bash
>>>
>>> wine start "c:\\Program Files (x86)\\foobar2000\\foobar2000.exe"
>>>
>>> # gedit à a place de shutdown pour réaliser les tests
>>>
>>> gedit
>>>
>>> exit
>>>
>>> Le script est lancé au démarrage par la commande bash /nom du script. Le
>>> programme foobar est lancé dans wine mais Gedit est ouvert immédiatement
>>> après le lancement de foobar dans wine et non lorsque wine se ferme.
>>>
>>> J'ai donc 2 questions:
>>>
>>> 1. comment faire pour que le script ne reprenne la main qu'à la
>>> fermeture de Wine et de foobar2000.
>> tu rajoutes la ligne suivante avant gedit :
>>
>> wait
>>
>>
>> Laurent
>>
>>
>>
>



-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!