Processus s'arrêtant

Vous voulez de l'aide ? Postez ici :)
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Processus s'arrêtant

Post by boby »

Bonjour j'ai encore besoin d'aide ne trouvant pas mon bonheur sur le wiki :)
J'ai trouver comment utilisé la fonction "commande détaché" (elle marche nikel avec un .exe mes pas avec le raccourci de celui ci) j'ai aussi trouvé comment stopper le processus avec son PID en le stockant dans une variable.
J'explique maintenant ce que je voudrait faire.
En faite j'aimerai que si mon processus s'arrete il ce relance automatiquement avant le temps que j'ai prevu.
En gros existe -t-il une commande qui verifie si mon PID et actif ou non et le relance si besoin est ?!?
Ah oui et aussi je comprend pas pourquoi mes l'action "commande" me renvoie toujours une erreur je n'arrive pas a faire la même chose qu'avec commande détacher quelqu'un sait pourquoi ?
merci de vos réponse.
Bonne journée :)
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Processus s'arrêtant

Post by Jmgr »

Salut,
En faite j'aimerai que si mon processus s'arrete il ce relance automatiquement avant le temps que j'ai prevu.
En gros existe -t-il une commande qui verifie si mon PID et actif ou non et le relance si besoin est ?!?
Hm, tu peux utiliser l'action de condition de fenêtre, si ton processus démarre une fenêtre. Sinon c'est possible avec un peu de Code.
Dans une action Code, pour créer un ProcessHandle qui va permettre de récupérer des infos sur le processus :

Code: Select all

var processus = new ProcessHandle(monPID);
Ensuite pour vérifier l'état du processus et sauter à une ligne particulière du script, une action de Condition de variable.

Code: Select all

processusEstDemarre = processus.isRunning()
Un exemple : (à importer avec Fichier->Importer->Contenu du script)

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.4.0" scriptVersion="1.0.0" os="GNU/Linux"/>
    <actions>
        <action name="ActionGoto" version="1.0.0"/>
        <action name="ActionCode" version="1.0.0"/>
        <action name="ActionDetachedCommand" version="1.0.0"/>
        <action name="ActionVariableCondition" version="1.0.0"/>
        <action name="ActionPause" version="1.0.0"/>
    </actions>
    <parameters/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionDetachedCommand" label="debut" comment="démarre le programme">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <parameter name="processId">
                <subParameter name="value" code="0">pid</subParameter>
            </parameter>
            <parameter name="parameters">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="command">
                <subParameter name="value" code="0">notepad</subParameter>
            </parameter>
            <parameter name="workingDirectory">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionCode" comment="récupère un "processHandle"">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">var processus = new ProcessHandle(pid)</subParameter>
            </parameter>
        </action>
        <action name="ActionCode" label="verif" comment="vérifie si le processus est bien démarré">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">processusEstDemarre = processus.isRunning()</subParameter>
            </parameter>
        </action>
        <action name="ActionVariableCondition" comment="redémarre le processus s'il est arrêté">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="ifEqual">
                <subParameter name="line" code="0">attendre</subParameter>
                <subParameter name="action" code="0">do_nothing</subParameter>
            </parameter>
            <parameter name="comparison">
                <subParameter name="value" code="0">equal</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0">processusEstDemarre</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="0">true</subParameter>
            </parameter>
            <parameter name="ifDifferent">
                <subParameter name="line" code="0">debut</subParameter>
                <subParameter name="action" code="0">goto</subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="fait une pause d'une seconde">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="duration">
                <subParameter name="value" code="0">1</subParameter>
            </parameter>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
        </action>
        <action name="ActionGoto" comment="retourne vers la ligne de vérification">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="line">
                <subParameter name="value" code="0">verif</subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>
Ah oui et aussi je comprend pas pourquoi mes l'action "commande" me renvoie toujours une erreur je n'arrive pas a faire la même chose qu'avec commande détacher quelqu'un sait pourquoi ?
Quelle erreur ? Peux-tu poster un script d'exemple qui reproduit ce problème ?
"My software never has bugs. It just develops random features."
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

Salut merci pour ta rapidité en faite la sa ne me fait plus d'erreur par contre avec l'action "commande" le processus que je veux lancer ce lance pas :/
idem avec la "commande" et "commande détacher" quand je veux lancer un raccourci sa ne ce lance pas non plus.
et la "commande détacher" qui fonctionne sous windows 7 32 bits ne fonctionne pas sous Ubuntu 11.10 pourquoi ?
Je te met deja mon script avec la commande "commande" tu me dira peut-être pourquoi sa ne veut pas ce lancer :)

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.4.0" scriptVersion="1.0.0" os="Windows"/>
    <actions>
        <action name="ActionKillProcess" version="1.0.0"/>
        <action name="ActionVariable" version="1.0.0"/>
        <action name="ActionCommand" version="1.0.0"/>
    </actions>
    <parameters/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionVariable">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <parameter name="colorValue">
                <subParameter name="value" code="0">::</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0">nom</subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">integer</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="0">0</subParameter>
            </parameter>
            <parameter name="positionValue">
                <subParameter name="value" code="0">:</subParameter>
            </parameter>
        </action>
        <action name="ActionCommand" pauseAfter="15000">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <parameter name="output">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="exitStatus">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="errorOutput">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="processId">
                <subParameter name="value" code="0">nom</subParameter>
            </parameter>
            <parameter name="parameters">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="exitCode">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="command">
                <subParameter name="value" code="0">C:/Users/famille/Desktop/envoi image/send-images.exe</subParameter>
            </parameter>
            <parameter name="workingDirectory">
                <subParameter name="value" code="0">C:/Users/famille/Desktop/envoi image</subParameter>
            </parameter>
        </action>
        <action name="ActionKillProcess">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="processId">
                <subParameter name="value" code="1">nom</subParameter>
            </parameter>
            <parameter name="timeout">
                <subParameter name="value" code="0">1000</subParameter>
            </parameter>
            <parameter name="killMode">
                <subParameter name="value" code="0">gracefulThenForceful</subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>
Voila merci pour ton aide JMGR
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

Je viens d'essayer ton script c'est tout a fait ce que je rechercher merci :)
Par contre si tu c'est m'aiguiller sur ce que je t'ai demander plus haut sa serai cool :)
surtout par rapport a Ubuntu
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Processus s'arrêtant

Post by Jmgr »

idem avec la "commande" et "commande détacher" quand je veux lancer un raccourci sa ne ce lance pas non plus.
On ne peut pas lancer un raccourci avec ces actions, un raccourci sous Windows ne pointe pas vers l'exécutable, c'est juste un fichier qui contient l'adresse du fichier pointé. Sous GNU/Linux par contre je pense que ça fonctionne. Il faudra que je regarde s'il n'y a pas moyen de détecter que le fichier pointé est un raccourci et rediriger automatiquement vers le fichier pointé.
et la "commande détacher" qui fonctionne sous windows 7 32 bits ne fonctionne pas sous Ubuntu 11.10 pourquoi ?
Aucune idée, j'utilise Ubuntu tous les jours, et Windows 7 pour faire des tests et ça fonctionne bien sur les deux.
Je te met deja mon script avec la commande "commande" tu me dira peut-être pourquoi sa ne veut pas ce lancer
Bah ton script pointe vers un exécutable Windows, qui ne peut pas être démarré sous GNU/Linux (et donc Ubuntu).
Les logiciels créés pour Windows ne sont pas compatibles avec GNU/Linux. (et inversement)
Tu peux sinon utiliser un genre d'émulateur, nommé "Wine" pour ça, c'est assez moche mais ça fonctionne pour certains programmes.

Note : Ton action Variable est inutile ici, la variable est automatiquement créée si elle n'existe pas.
"My software never has bugs. It just develops random features."
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

Ok merci je vais regarder sa de plus prés si j'ai un souci je reviendrai poster
Bonne soirée :)
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

Re c'est encore moi alors je te montre ou j'ai une erreur sous Ubuntu 11.10 car tu ma pas bien compris j'ai une erreur des la premiere commande.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.2.2" scriptVersion="1.0.0" os="GNU/Linux"/>
    <actions>
        <action name="ActionDetachedCommand" version="1.0.0"/>
    </actions>
    <parameters/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionDetachedCommand">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <parameter name="processId">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="parameters">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="command">
                <subParameter name="value" code="0">/home/benjamin3/Bureau/PelicanNono1.07/PelicanNono.exe</subParameter>
            </parameter>
            <parameter name="workingDirectory">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>
Ce que je ne comprend pas c'est qu'avec wine ou playonlinux l'executable s'ouvre tres bien mes pas avec actionaz j'ai une erreur et j'ai beau cherché je ne trouve pas :/
Si tu c'est m'aider c'est avec plaisir.
Merci :)
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Processus s'arrêtant

Post by Jmgr »

Je vois pas trop, chez moi sous Ubuntu je peux démarrer un .exe avec cette action sans problème, Wine se démarre de manière transparente. C'est sans doute l'association entre les .exe et Wine qui n'est pas faite sur ton système.

Essaie de mettre wine dans Commande et le chemin vers ton exécutable dans Paramètres :

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actionaz" version="3.4.0" scriptVersion="1.0.0" os="GNU/Linux"/>
    <actions>
        <action name="ActionDetachedCommand" version="1.0.0"/>
    </actions>
    <parameters/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionDetachedCommand">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <parameter name="processId">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="parameters">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="command">
                <subParameter name="value" code="0">/home/benjamin3/Bureau/PelicanNono1.07/PelicanNono.exe</subParameter>
            </parameter>
            <parameter name="workingDirectory">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>
"My software never has bugs. It just develops random features."
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

Bon et bien j'ai beau faire tous ce que tu ma dis sa ne fonctionne pas je t'avoue que je ne comprend pas trop :/
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

Question bête est ce que si je fait les mises a jour de Ubuntu cela pourrai corriger le probleme ?
Car j'ai beau passer par n'importe C:/ ou Z:/ l'executable ne ce lance pas avec commande détaché grrr pourtant j'ai modelé dans tous les sens wine :/
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

Bon et bien j'ai trouver d'ou venai le probleme il fallait que je definisse l'executable comme une commande dans les proprieter et la plus d'erreur par contre l'executable ne ce lance pas même en mettant une pause sur actionaz alors qu'en faisant des cliques c'est bon. Serais tu pourquoi ?!?
merci :)
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Processus s'arrêtant

Post by Jmgr »

C'est un programme console ou un programme avec un interface graphique ?
C'est peut-être une histoire de dossier de travail ?
"My software never has bugs. It just develops random features."
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

un programme console pour toi c'est un programme qui ce lance sous dos ? si oui c'est sa :)
sinon c'est l'autre a vrai dire je connait pas trop la difference entre les deux mes mon programme ce lance sous dos a la base donc je pense que c'est un programme console :)
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Processus s'arrêtant

Post by Jmgr »

Bin en fait le dos n'existe plus depuis Windows XP, donc oui il s'agit bien d'un programme console (uniquement du texte dans une fenêtre).
Mais bon, à part le dossier de travail je ne vois pas trop de cause de ton problème.
"My software never has bugs. It just develops random features."
boby
Posts: 31
Joined: 20 Jan 2012, 15:45

Re: Processus s'arrêtant

Post by boby »

Ok donc dans quel dossier faut il que je le mette pour que là console puisse ce lancer avec actionaz ?
Post Reply