[Shell] Problème pour le lancement d'une app.

Résolu/Fermé
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 - 31 mars 2007 à 22:00
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 2 avril 2007 à 16:47
Bonjour à tous,

Je viens de me faire un petit ShellBash, qui tourne sous Suse 9.3 (Linux), qui me permet de lancer de programmes avec une syntaxe bien plus longue et plus difficile à ce souvenir. Il fonctionne parfaitement.
Le seul problème, c'est que c'est le programme "transcode", et il affiche une grande quantité de lignes à l'écran (jusqu'à 250'000 pour certains films). Si je ferme la shell, le programme s'arrête, et du fait que je ne lance pas cette plication en local, je ne peut pas laisser tourner l'autre ordi pendant ce temps.

J'ai déjà essayé de rajouter un "&" à la fin de la ligne de commande, mais ça ne marche pas.
Je ne peux pas envoyer toutes les sorties vers un fichier, du fait que j'ai un tout petit DD (8Go).

En résumé, ce qui m'arrangerais serait de pouvoir lancer le programme et de pouvoir fermer la shell sans que transcode ne s'arrête.

Merci de votre aide.
A voir également:

7 réponses

blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
31 mars 2007 à 22:15
Salut,

si les sorties standard ne te conviennent pas, tu peux les envoyer dans la nature (et faire pareil avec les sorties d'erreur)...

toto.sh > null
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
31 mars 2007 à 22:40
Lance ton programme avec la commande "nohup" :
nohup ton_programme.sh >/dev/null &
;-))
0
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
31 mars 2007 à 22:41
J'ai essayé et ça ne marche pas non plus.

Même si je les redirige vers /dev/null, il y a les premières infos qui viennent à l'écran, et je n'ai pas la possibilité de mettre le programme en background, et donc je en peux pas non plus fermer la fenêtre de connection SSH ...

Mais merci de ton aide ;-)
0
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
31 mars 2007 à 23:08
Merci jipicy, ça marche parfaitement :)

J'ai mis le nohup dans le programme, et le & dans la commande que j'execute à chaque fois, sinon j'ai des problèmes...

Encore merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
31 mars 2007 à 23:09
Oups... j'ai z'oublié une esperluette ;-((
nohup ton_programme.sh &>/dev/null &
;-))
0
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
2 avril 2007 à 15:01
Encore merci de ton aide. J'ai finalement fais ainsi :

Lancement :
./transcoding -i Input -o Output -d &


Transcoding :
#!/bin/sh

del="0"
shutdown="0"

while getopts i:o:ds option
do
  case $option in
     i)
       in="$OPTARG"
       ;;
     o)
       out="$OPTARG"
       ;;
     d)
       del="1"
       ;;
     s)
       shutdown="1"
       ;;
     ?)
       printf "Usage : %s : [-i Input file] [-o Output file] [-d Delete Input file]\n" $0
       exit 2
       ;;
  esac
done

  
nohup transcode -i "$in" -y ffmpeg --export_prof dvd-pal --export_asr 3 -o "$out" -D0 -s2 -m "$out".ac3 -J modfps=clonetype=3 --export_fps 25 >/dev/null


if [ "$del" = "1" ]
then
  rm $in
fi

if [ "$shutdown" = "1" ]
then
  shutdown -h now
fi
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
2 avril 2007 à 16:47
Merci d'avoir pris le temps de poster un récapitulatif ;-))
0