Pages : 1
#1 Le 30/04/2008, à 14:41
- n3o51
demande d'aide pour un script
Bonjour a tous !!!
J'ai un petit script qui me permet de lancer true combat elite dans un autre display
de la maniere suivante
#!/bin/sh
sudo rm /tmp/.X0-lock
X :1 -ac & DISPLAY=:1 et +set fs_game tcetest +set com_hunkMegs 512 +set com_zoneMegs 32 +set com_soundMegs 32 +set com_ignorecrash 1
Ce qui ce passe c'est que je dois faire un Control Alt bakspace dans le server X pour qu'il rebascule ensuite dans mon autre TTY ce que je voudrai c'est que je voudrai rajouter quelque chose qui me permettrai de recuperer le PID du X pour le tuer quand je quitte le jeu mais je ne sait pas comment faire
Merci de votre aide
Welcome to the real world
________________________________
Hors ligne
#2 Le 30/04/2008, à 15:02
- n3o51
Re : demande d'aide pour un script
J'ai fait ca ais ca ne fonctionne pas
#!/bin/sh
sudo rm /tmp/.X0-lock
X :1 -ac & DISPLAY=:1 et +set fs_game tcetest +set com_hunkMegs 512 +set com_zoneMegs 32 +set com_soundMegs 32 +set com_ignorecrash 1
PID='ps axw | grep "X\ :1 -ac" | awk '{print $1}''
sudo kill $PID
Welcome to the real world
________________________________
Hors ligne
#3 Le 30/04/2008, à 16:01
- n3o51
Re : demande d'aide pour un script
Quelqu'un c'est comment faire s'il vous plait !!!
Welcome to the real world
________________________________
Hors ligne
#4 Le 30/04/2008, à 16:52
- Ultandir
Re : demande d'aide pour un script
Bonjour,
Dans ton script fait un echo $PID pour verifier si ton PID est recuperé.
et remplace ta ligne de kill par ceci :
sudo kill -9 $PID
En effet, le kill ( contrairement a ce que son nom indique) ne tue rien ^^, il se contente d'envoyer un signal a un processus.
Tu doit préciser le signal ( le numéro 9 est le signal fatal....le tueur ^^ )
Fedora Cambridge i386
Zenwalk 5.2
-------------
Il y a 10 types de personnes : celles qui connaissent le binaire, et celles qui ne le connaissent pas.
Hors ligne
#5 Le 30/04/2008, à 17:37
- n3o51
Re : demande d'aide pour un script
Ca ne fonctionne toujours pas
#!/bin/sh
sudo rm /tmp/.X0-lock
X :1 -ac & DISPLAY=:1 et +set fs_game tcetest +set com_hunkMegs 512 +set com_zoneMegs 32 +set com_soundMegs 32 +set com_ignorecrash 1
PID='ps axw | grep "X\ :1 -ac" | awk '{print $1}''
ps axw | grep "X\ :1 -ac" | awk '{print $1}' > /home/n3o/Bureau/pid.pid
sudo kill -9 $PID
J'ai rajouter ps axw | grep "X\ :1 -ac" | awk '{print $1}' > /home/n3o/Bureau/pid.pid efectivement le pid et bien recuperer mais il faut toujours que je fasse un control alt backspace
Welcome to the real world
________________________________
Hors ligne
#6 Le 30/04/2008, à 17:42
- Ultandir
Re : demande d'aide pour un script
J'ai un petit script qui me permet de lancer true combat elite dans un autre display
Qu'appel tu un autre "display"....?
Fedora Cambridge i386
Zenwalk 5.2
-------------
Il y a 10 types de personnes : celles qui connaissent le binaire, et celles qui ne le connaissent pas.
Hors ligne
#7 Le 30/04/2008, à 18:06
- n3o51
Re : demande d'aide pour un script
Un autre server X dans un tty
14787 tty10 SLs+ 0:01 X :1 -ac
Welcome to the real world
________________________________
Hors ligne
#8 Le 30/04/2008, à 18:12
- n3o51
Re : demande d'aide pour un script
par contre quand je lance le jeu je fait un Control alt F7 je fait un
kill -9 14787
cela tu bien mon X dans le tty10
Quand je fait avec le script je suis obliger de faire un control alt backspace et la ca rebascule vers le tty7
Welcome to the real world
________________________________
Hors ligne
#9 Le 30/04/2008, à 21:02
- Ultandir
Re : demande d'aide pour un script
Alors la....... Je ne voit pas du tout. Tu lance ton application en arrière plan ( avec le & )??
Fedora Cambridge i386
Zenwalk 5.2
-------------
Il y a 10 types de personnes : celles qui connaissent le binaire, et celles qui ne le connaissent pas.
Hors ligne
#10 Le 30/04/2008, à 21:22
- tukuyomi
Re : demande d'aide pour un script
Pas testé, mais ça marche si tu remplaces ta commande
PID='ps axw | grep "X\ :1 -ac" | awk '{print $1}''
par
PID=$(ps axw | grep 'X\ :1 -ac' | awk '{print $1}')
?
Dernière modification par tukuyomi (Le 30/04/2008, à 21:24)
Hors ligne
#11 Le 30/04/2008, à 22:02
- n3o51
Re : demande d'aide pour un script
je regarde je vous dit
Et non ce n'est pas lance en arriere plan
Dernière modification par n3o51 (Le 30/04/2008, à 22:03)
Welcome to the real world
________________________________
Hors ligne
#12 Le 30/04/2008, à 22:10
- n3o51
Re : demande d'aide pour un script
Non ca ne marche pas !!!
Welcome to the real world
________________________________
Hors ligne
#13 Le 09/05/2008, à 23:37
- Totor
Re : demande d'aide pour un script
Ne peut-on pas lancer un process dans un DISPLAY particulier ?
Si oui, je procèderai de la façon suivante :
1. je lance X en fond de tâche
2. je récupère son PID (la variable shell $! contient le PID du dernier process lancé en arrière plan)
3. je lance le jeu dans le X lané en 1 (ça doit pouvoir se faire en exportant le DISPLAY, non ?) mais pas en fond de tâche
4. lorsque le jeu se termine, il rend la main et je fais un kill -9 du PID trouvé en 2
sinon, je viens de penser à une autre piste :
1. créer un script shell qui :
a/ récupérer le PID de son père (variable $$ en shell)
b/ lance le jeu avec les bons paramètres (mais pas en fond de tâche)
c/ effectue un kill -9 du PID trouvé en a/
2. lancer X qui appele le script créé en 1
-- Lucid Lynx --
Hors ligne
Pages : 1