Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Aller à la page:  Page précédente 1 2
Page: 2 sur 2
Re: exécution de flash player avec un script php perte des parametres

Ce n'est pas /etc/passwd qu'il faut changer, mais l'un de tes scripts avec un
export HOME=/ce/qui/convient

Dis moi quand même le nom de ta boite ou du produit. J'éviterais d'en avoir besoin un jour yawning smiley)

Tu me donnes toujours l'impression de ne pas comprendre ce qui se passe sur tes machines. C'est effrayant!

J'ai vraiment du mal à comprendre ceux qui choisissent un métier où ils font du développement et qui ne cherchent pas à comprendre comment ça marche. A mon avis, ils se trompent de métier. Faire (même un peu) du développement, c'est quand même désirer "déshabiller la machine", autrement dit une certaine quantité de pulsion epistémophilique (càd de curiosité) est indispensable.

En plus si tu n'as pas cette curiosité là, j'imagine que ton boulot t'emmerdes beaucoup.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 15 October 2007 15:46:45
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

c'est bon probleme résolu enfin pour les parametres dans mon script j'ai fait un export 'HOME=/root'et les parametres reste mais par contre flashplayer et toujour en anglais donc y doit manquer encore des variables d'environement, bon maintenant je vais essayé de lancer mon script avec l'utilisateur toor car ca me plait pas de le lancer en root, en tout cas merci, vous auriez fait un bon prof

Poste le Monday 15 October 2007 15:49:17
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

Il existe aussi ltrace qui pourrait peut-être t'aider.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 15 October 2007 16:03:14
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Citation
Basile STARYNKEVITCH
Ce n'est pas /etc/passwd qu'il faut changer, mais
l'un de tes scripts avec unexport
HOME=/ce/qui/convient

Dis moi quand même le nom de ta boite ou du
produit. J'éviterais d'en avoir besoin un jour

Tu me donnes toujours l'impression de ne pas
comprendre ce qui se passe sur tes machines. C'est
effrayant!

J'ai vraiment du mal à comprendre ceux qui
choisissent un métier où ils font du développement
et qui ne cherchent pas à comprendre comment ça
marche. A mon avis, ils se trompent de métier.
Faire (même un peu) du développement, c'est quand
même désirer "déshabiller la machine", autrement
dit une certaine quantité de pulsion
epistémophilique (càd de curiosité) est
indispensable.

En plus si tu n'as pas cette curiosité là,
j'imagine que ton boulot t'emmerdes beaucoup.

----

Basile STARYNKEVITCH où on trouve mon mél

N.B. N'hesitez pas à consulter aussi mes
contributions antérieures.

Merci j'avais trouvé le export 'HOME=/root' avant de lire votre commentaire, mon boulot me plait beaucoup, je suis trés curieux mais pour le moment c'est un prototype que l'on m'a demandé de faire vite mais dès demain aprés la présentation je remet a plat tout ce qui doit l'etre, mais c'est aussi une impression que vous avez car j'ai vraiment du mal a m'expliquer sur les forum mais je comprend ce que c'est, la preuve c'est que j'ai trouvé l'erreur alors qu'il y avait je sais pas combien de ligne d'erreur dans le trace

Poste le Monday 15 October 2007 16:13:37
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

tant qu'a y etre j'ai fait export 'LANG=french' et j'ai flashplayer en francais

Poste le Monday 15 October 2007 16:31:42
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

voila j'ai remis toutes les variables d'environement, et tout fonctionne parfaitement c'est bien mieux merci

Poste le Monday 15 October 2007 16:50:25
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

Citation
szambaux
voila j'ai remis toutes les variables d'environement, et tout fonctionne parfaitement: c'est bien mieux merci

Non, ça marchotte.

En cas d'incident, tes scripts semblent ne rien prévoir. C'est là où il faut comprendre et réfléchir (et faire des scripts professionnels), et c'est difficile à tester : il n'est pas facile de reproduire un problème comme une panne disque, ou un disque plein.


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 15 October 2007 17:08:27
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Citation
Basile STARYNKEVITCH
szambaux a écrit :voila j'ai remis toutes les
variables d'environement, et tout fonctionne
parfaitement: c'est bien mieux merci

Non, ça marchotte.

En cas d'incident, tes scripts semblent ne rien
prévoir. C'est là où il faut comprendre et
réfléchir (et faire des scripts professionnels),
et c'est difficile à tester : il n'est pas facile
de reproduire un problème comme une panne disque,
ou un disque plein.


----

Basile STARYNKEVITCH où on trouve mon mél

N.B. N'hesitez pas à consulter aussi mes
contributions antérieures.
oui c'est la ou on reconner un vrai développeur, des pistes pour ces pannes? des tuto qui montre comment prévenir?

Poste le Monday 15 October 2007 21:36:47
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: oudoubah

Je ne parlerai que ce que je connais le plus, c'est à dire le shell (et plus précisément le bash).
Pour contrôler les signaux de terminaison, il y a la commande "trap". Cela permet d'exécuter une fonction pour quitter proprement le script.

Ensuite, les questions à se poser, c'est qu'est-ce qui se passe si telle chose ne fonctionne pas.

Lorsqu'un script reçois des paramètres, il faut tester la validité des paramètres reçus, vérifier que leur nombre est cohérent.

Par convention, un script qui se termine bien, sort sur un "exit 0". En cas d'erreur, tu sors soit sur un exit 1, soit, à l'idéal, sur un exit n, où n est un numéro d'erreur référencé (cela permet de retrouver rapidement la source d'un problème, surtout que le script est conséquent).

Une chose que l'on peut faire avec un script qui est utilisé de manière automatique, c'est de remplir un fichier de log (et configurer logrotate pour que les logs ne remplissent pas le disque).

Ensuite, certaines parties du codes que tu devrais retrouver sont plus propices à un test d'erreur. Par exemple, si tu utilises un grep pour affecter une variable, autant vérifier que la variable n'est pas vide.

Une des questions que tu dois te poser, c'est qu'est-ce qui se passe en cas d'erreur non gérée?

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Monday 15 October 2007 22:42:10
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Voila ou j'en suis
#!/bin/sh


case "$#" in

0	)

          echo "aucun parametres recus \n" >> /var/log/shellflash.log
          exit 2
	;;

1	)  

  if pidof /usr/bin/flashplayer; then
     killall flashplayer
     sleep 0.2
	  if pidof /usr/bin/flashpalyer; then
	  killall -9 flashplayer
	  sleep 0.2
	  fi
  fi

  export 'HOME=/root'
  export 'LANG=fr_FR.UTF-8'
  export 'USER=root'
  export 'TERM=linux'
  export 'SHELL=/bin/bash'
  export 'LOGNAME=root'
  export 'PWD=/root'
  DISPLAY=:0.0 flashplayer $1 &
# focntionement ok
  exit 0
	;;

2	)

  echo "nombre de parametres trop grand" >> /var/log/shellflash.log
  exit 1
	;;
esac
 

Poste le Tuesday 16 October 2007 09:36:17
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: oudoubah

C'est un bon début, mais avec un peu plus d'expérience, voilà comment je le ferais :

La manière dont je ferais :
#!/bin/sh

# Initialisation des variables :
. /etc/profile
. ~/.bash_profile
LOG=/dev/null
DISPLAY=:0.0

TIMESTAMP=$(date '+%Y%m%d%H%M')

# Fonction d'aide
usage() {
 echo "Usage : $0 <stop|start|status|startlog>"
 exit 1
}

[ $# -eq 0 ] && usage

stop() {
     if [ -e /var/run/flashplayer.pid ] ; then
         PID=$(cat /var/run/flashplayer.pid)
         kill -TERM 
# Si flashplayer a des difficultés à se fermer, tu peux rajouter le sleep et kill -KILL $PID
         rm -f /var/run/flashplayer.pid
         echo "flashplayer stoppé"
         exit 0
      else
         echo "flashplayer n'est pas en cours d'exécution"
         exit 1
      fi
}

start() {
     if [ -e /var/run/flashplayer.pid ] ; then
         echo "flashplayer est déjà en cours d'exécution ($(cat /var/run/flashplayer.pid))"
         exit 1
      fi
      export DISPLAY
      nohup flashplayer $1 >>$LOG 2>&1 &
      PID=$!
      echo $PID > /var/run/flashplayer.pid
      echo "flashplayer lancé"
      exit 1
}

case $1 in
   "stop") stop ;;
   "start") start ;;
   "restart")
      stop
      start
      ;;
   "status")
      echo "Pid=$(cat /var/run/flashplayer.pid)
      exit 0
      ;;
   "startlog")
      LOG=/var/log/flashplayer.log
      exec 1>>$LOG
      exec 2>&1
      echo -n $TIMESTAMP
      start
      ;;
   *)
      usage
      ;;
esac

Bien sûr, ce n'est pas à prendre tel quel. A toi d'analyser ce script, de le modifier pour mieux le faire coller à tes besoins.


Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Tuesday 16 October 2007 10:35:36
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

ca parait beaucoup plus claire avec des fonction stop start..., je vais modifier mon script dans ce sens merci

Poste le Tuesday 16 October 2007 11:03:42
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

J'ai quelque petites questions par rapport à votre script:

à quoi sert [ $# -eq 0 ] && usage?

qu'est ce que représente &1 dans nohup flashplayer $1 >>$LOG 2>&1 &?



Poste le Tuesday 16 October 2007 11:32:02
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

en shell, le crochet est la "fonction" test qui est documentée

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Tuesday 16 October 2007 11:40:30
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Citation
Basile STARYNKEVITCH
en shell, le crochet est la "fonction" test qui
est documentée

----

Basile STARYNKEVITCH où on trouve mon mél

N.B. N'hesitez pas à consulter aussi mes
contributions antérieures.

je le sais mais ce qui m'intrigue c'est que j'ai toujour utilisé cette commande avec des if ou autre structures conditionnelles et la je voit pas ce que cette commande fait toute seule perdu au milieu du script, elle test si il y a des parametres , il ne manque pas un if à cette endroit?

Poste le Tuesday 16 October 2007 11:48:07
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: oudoubah

Cela revient au même que de faire if [ ... ] ; then commande ; fi

Pour le comprendre, il faut connaitre le mécanisme d'évaluation du ET logique :
si la première expression est vraie, alors je teste la seconde. Ici, si le résultat du test est vrai, alors je teste la seconde, c'est à dire si la commande après le && renvoie VRAI.
Ce que je ne fais pas (car je ne m'en sers pas), c'est de connaitre la valeur de ce ET logique.
Si la première expression est fausse, alors cela ne sers à rien d'évaluer la seconde partie du ET. L'implantation du ET fait qu'il renvoit la valeur FAUX sans tester la seconde partie (qu'elle soit vraie ou fausse, cela ne changera pas le résultat).

L'avantage de cette écriture, c'est qu'elle allège le code. Une petite ligne remplace un if then fi


Concernant ta seconde question, il faut savoir que par défaut un programme a une entrée standard, une sortie standard, et une sortie d'erreur. En shell, cela correspond aux descripteur 0, 1 et 2.

>>$LOG est équivalent à 1>>$LOG
2>&1 renvoit la sortie d'erreur (2) dans la sortie standard (1). Pourquoi mettre un & ? Parce qu'il faut différencier le fichier qui s'appelle 1 et la sortie standard.

Cela peut être bien d'avoir sous la main une bonne documentation du shell. Celle que je garde toujours sous le coude est celle de Sve@r (http://fr.lang.free.fr/).

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Tuesday 16 October 2007 13:16:02
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Citation
oudoubah
Cela revient au même que de faire if [ ... ] ;
then commande ; fi

Pour le comprendre, il faut connaitre le mécanisme
d'évaluation du ET logique :
si la première expression est vraie, alors je
teste la seconde. Ici, si le résultat du test est
vrai, alors je teste la seconde, c'est à dire si
la commande après le && renvoie VRAI.
Ce que je ne fais pas (car je ne m'en sers pas),
c'est de connaitre la valeur de ce ET logique.
Si la première expression est fausse, alors cela
ne sers à rien d'évaluer la seconde partie du ET.
L'implantation du ET fait qu'il renvoit la valeur
FAUX sans tester la seconde partie (qu'elle soit
vraie ou fausse, cela ne changera pas le
résultat).

L'avantage de cette écriture, c'est qu'elle allège
le code. Une petite ligne remplace un if then fi


Concernant ta seconde question, il faut savoir que
par défaut un programme a une entrée standard, une
sortie standard, et une sortie d'erreur. En shell,
cela correspond aux descripteur 0, 1 et 2.

>>$LOG est équivalent à 1>>$LOG
2>&1 renvoit la sortie d'erreur (2) dans la
sortie standard (1). Pourquoi mettre un & ?
Parce qu'il faut différencier le fichier qui
s'appelle 1 et la sortie standard.

Cela peut être bien d'avoir sous la main une bonne
documentation du shell. Celle que je garde
toujours sous le coude est celle de Sve@r
(http://fr.lang.free.fr/).

> A l'heure actuelle, il s'est formé une sorte
"d'aristocratie" de Linux qui essaye de maintenir
ses connaissances pour elles et d'en priver les
autres en innondant chaque débutant de
documentations
-+- EF in Guide du linuxien pervers : "Comprenne
qui pourra..." -+-


Merci pour ces précisions, je ne savais pas que l'on pouvais remplacer la structure du if par cela c'est bien plus léger, pour ma seconde question, je connaissais les sorties du shell mais je ne savais pas redirigé, merci pour votre aide et pour la documentation que je vais prendre, et merci de me faire avancé
merci

Poste le Tuesday 16 October 2007 14:10:36
Répondre     Citer    
Aller à la page:  Page précédente 1 2
Page: 2 sur 2

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
exécution de flash player avec un script php perte des parametres
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.
Nouveau sujet sur ce forum

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons