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

Résolu
vlmath Messages postés 833 Statut Contributeur -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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.
Configuration: Windows XP
Suse 9.3

Opera 9.01

7 réponses

  1. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Lance ton programme avec la commande "nohup" :
    nohup ton_programme.sh >/dev/null &
    ;-))
    0
  3. vlmath Messages postés 833 Statut Contributeur 160
     
    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
  4. vlmath Messages postés 833 Statut Contributeur 160
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Oups... j'ai z'oublié une esperluette ;-((
    nohup ton_programme.sh &>/dev/null &
    ;-))
    0
  7. vlmath Messages postés 833 Statut Contributeur 160
     
    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
  8. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Merci d'avoir pris le temps de poster un récapitulatif ;-))
    0