[Shell] Problème pour le lancement d'une app.
Résolu
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.
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
-
ModérateurSalut,
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
-
ModérateurLance ton programme avec la commande "nohup" :
nohup ton_programme.sh >/dev/null &
;-))
-
ContributeurJ'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 ;-) -
ContributeurMerci 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. -
ModérateurOups... j'ai z'oublié une esperluette ;-((
nohup ton_programme.sh &>/dev/null &
;-))
-
ContributeurEncore 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 -
ModérateurMerci d'avoir pris le temps de poster un récapitulatif ;-))