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 29/06/2009, à 17:55

Lord Northam

[Bash] Nommer un Processus que l'on lance

Hello tout l'monde ^^,

Voilà quand on lance un processus il a un nom, dans mon cas la commande gawk étant associée le processus prend ce nom là.

Hors, j'aimerais pouvoir mieux détecter les processus que lance mon script, et non tous les gawk lancé sur la session. Donc je recherche un moyen de nommer un processus, pour pouvoir le reconnaitre.

Voilà, quelque chose permet-il cela ? Merci ! ^^

Hors ligne

#2 Le 29/06/2009, à 18:25

AnsuzPeorth

Re : [Bash] Nommer un Processus que l'on lance

Bjr,
Je ne sais pas ce que tu veux faire avec ces process par la suite, mais peut etre qu'en récuperant le pid du process, cela te conviendrais ?
Pour cela, dans ton script, il suffit, juste aprés le process en question, de mettre le pid dans une variable qui sera disponible pour tuer le process par exemple.

<commande>
PID=$!

Dernière modification par AnsuzPeorth (Le 29/06/2009, à 18:25)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#3 Le 29/06/2009, à 19:36

Lord Northam

Re : [Bash] Nommer un Processus que l'on lance

Bin je ne peux pas faire confiance au code retour de Mimms, alors je veux vérifier via Bash que la vidéo est correcte.

J'ai essayé de récupérer les infos avec mplayer, sur l'entête de la vidéo, j'ai la résolution, le codec, le bitrate, etc... Mais ça ne me dit pas quel taille doit avoir le fichier normalement.

Mimms ne donne rien, sauf si on envoie ses données dans un fichier. Je pensais le tuer assez vite le temps de récupérer la donnée, et le lancer pour de vrai avec le Flush et le Zenity. Mais ça merdouille aussi xD

Après une coupure WiFi, Mimms ne télécharge plus rien, et c'est là qu'il me faut après l'avoir détecté tuer tous les mimms que j'ai lancé, pour ensuite les relancer. Le $! ne va servir qu'ici, pour tuer proprement ces processus. Pour la vidéo, ce n'est tjr pas ça. xD

Dernière modification par Lord Northam (Le 29/06/2009, à 22:23)

Hors ligne

#4 Le 29/06/2009, à 20:22

AnsuzPeorth

Re : [Bash] Nommer un Processus que l'on lance

Lord Northam a écrit :

J'ai essayé de récupérer les infos avec mplayer, sur l'entête de la vidéo, j'ai la résolution, le codec, le bitrate, etc... Mais ça ne me dit pas quel taille doit avoir le fichier normalement.

Pour savoir ca, je pense que ces données doivent venir du site où tu telecharge ? Sinon, via mplayer, tu utilises le FIFO, car il y a beaucoup de possibilité pour récupérer les infos voulues.
http://www.mplayerhq.hu/DOCS/tech/slave.txt

Lord Northam a écrit :

Mimms ne donne rien, sauf si on envoie ses données dans un fichier. Je pensais le tuer assez vite le temps de récupérer la donner, et le lancer pour de vrai avec le Flush et le Zenity. Mais ça merdouille aussi xD

Ben si il envoi des données, c'est ce qu'il te faut, suffit juste de récupérer ce que tu veux dans le fichier

Lord Northam a écrit :

Après une coupure WiFi, Mimms ne télécharge plus rien, et c'est là qu'il me faut après l'avoir détecté tuer tous les mimms que j'ai lancé, pour ensuite les relancer. Le $! ne va servir qu'ici, pour tuer proprement ces processus. Pour la vidéo, ce n'est tjr pas ça. xD

Tu pourrais, via inotail, surveiller le dossier des vidéos, si les fichiers s'y trouvant ne bougent plus, cela veut dire que le wifi est coupé ou que le fichier est terminé de telechargé (mais pour ca, il faut la taille du fichier initiale !!! Trouver ça où ???)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#5 Le 29/06/2009, à 22:21

Lord Northam

Re : [Bash] Nommer un Processus que l'on lance

AnsuzPeorth a écrit :

Tu pourrais, via inotail, surveiller le dossier des vidéos, si les fichiers s'y trouvant ne bougent plus, cela veut dire que le wifi est coupé ou que le fichier est terminé de telechargé (mais pour ca, il faut la taille du fichier initiale !!! Trouver ça où ???)

C'est déjà comme ça que ça fonctionne via un ls -l sur le dossier ^^
Mais ensuite je suis forcé de faire un killall gawk, ce qui n'est pas forcément très propre. (Mais bon le script ne se lance pas s'il détecte un gawk, m'enfin si t'en lance un après, il en fera parti xD)

J'ai tenté les math via mplayer genre secondes*bitrate en gros (car en vrai c'est pire ^^), mais c'est pas top, car c'est pas du tout précis.
Et je sais connaître le nombre de frames que la vidéo contient, mais comment faire un test pour savoir si la dernière est là ?

Là si je fais un mimms $mms $file > $log je peux récupérer la taille oui. via :

$vid_must_size=$(cat "$path_tmp/$dl_filename.txt" | grep "(" | awk -F" " '{print $5}' | sed -e 's/.//g')

Mais bon après il faut tuer mimms avec violence, et le relancer. Et là depuis 1 semaine, Arte à changé de serveur et les url mms ont des clefs de session. Donc au second mimms, l'url est déjà morte et pour un bien il faudrait en re-extraire une nouvelle... Bref bcp bcp de bidouille...

J'aurais aimé lancer un VLC mais je n'ai pas trouvé comment choisir la frame de début. (Genre je démarre quasi à la fin, si la vidéo n'est pas bonne ça ferme direct, si elle est bonne, il va lire pendant 1 ou 2 secondes avant de se fermer. Et là j'aurais un code retour correct.)

Dernière modification par Lord Northam (Le 29/06/2009, à 22:23)

Hors ligne