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 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

sad 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