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 22/01/2015, à 10:16

totola

(+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Bonjour,
dans un programme, je lance plusieurs processus vlc (cvlc en fait) en même temps. Je voudrais savoir si c'est possible d'en arrêter un seul et que les autres fonctionnent encore... évidemment killall cvlc me tue tout d'un coup...
Merci

Dernière modification par totola (Le 30/01/2015, à 19:06)

Hors ligne

#2 Le 22/01/2015, à 10:38

genma

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Si tu fais la commande ps aux, tu auras les différents processus. Il te faut savoir le PID du VLC que tu veux killer. Et kill -9 WXYZ ou WXYZ est l'id du processus turera le VLC correspondant (mais pas les autres). Regarde ici http://doc.ubuntu-fr.org/tutoriel/conso … illkillall


"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière".
Utilisateur d'Ubuntu depuis la version 4.10 !
Mon blog ?      https://blog.genma.fr
Mon twitter?     http://twitter.com/genma

Hors ligne

#3 Le 22/01/2015, à 10:44

totola

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Merci de la réponse, en effet c'est une bonne piste!
Mais est-ce possible d'attribuer un PID à la création du processus, de cette manière je saurais lequel tuer??
En gros mon programme contient plusieurs fois un groupe de deux boutons: un pour lancer le processus et un autre pour le tuer et il faut que le bouton pour tuer le processus corresponde avec celui qui l'a lancé...

Hors ligne

#4 Le 22/01/2015, à 10:58

credenhill

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

hello
tu ne peux pas attribuer un PID, mais tu peux le récupérer en lançant une tâche en arrière plan

vlc & PID=$!

Hors ligne

#5 Le 22/01/2015, à 11:26

totola

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Ok mais je m'emmêle un peu les pinceaux avec les commandes shell... Il faut stocker le pid dans un fichier? Comment le rappeler ensuite?
Merci

Hors ligne

#6 Le 22/01/2015, à 11:57

genma

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Il faut stocker le pid dans un fichier? Comment le rappeler ensuite?

Il faut stocker le pid dans une variable.
Un truc du genre

#lancer VLC et récupérer le pid dans une variable
monPID = $(vlc & PID=$!)
# Afficher le PID (valeur dans la variable)
echo $monPID

A adapter à ton besoin.

Ton programme, il est en quoi?


"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière".
Utilisateur d'Ubuntu depuis la version 4.10 !
Mon blog ?      https://blog.genma.fr
Mon twitter?     http://twitter.com/genma

Hors ligne

#7 Le 22/01/2015, à 12:36

totola

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Merci!
Il est en python mon programme...

Hors ligne

#8 Le 22/01/2015, à 13:15

genma

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Si tu comprends l'anglais et le code python, tu as ça https://stackoverflow.com/questions/376 … -in-python


"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière".
Utilisateur d'Ubuntu depuis la version 4.10 !
Mon blog ?      https://blog.genma.fr
Mon twitter?     http://twitter.com/genma

Hors ligne

#9 Le 22/01/2015, à 15:19

totola

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Ok merci!
Avec tout ça je devrais à me débrouiller!

Pour l'instant je coince avec un truc plus gênant: les threads... J'aimerais pouvoir lancer plusieurs processus en même temps, et ça n'a pas l'air si simple...

http://forum.ubuntu-fr.org/viewtopic.php?id=1770441

En attendant ce fil est résolu, merci! smile

Hors ligne

#10 Le 22/01/2015, à 16:38

genma

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Si le poste est résolu, peut tu en changer le titre s'il te plait. Merci à toi.
Et de rien pour les réponses.


"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière".
Utilisateur d'Ubuntu depuis la version 4.10 !
Mon blog ?      https://blog.genma.fr
Mon twitter?     http://twitter.com/genma

Hors ligne

#11 Le 22/01/2015, à 18:37

totola

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Voili voilou... smile

@+

Hors ligne

#12 Le 29/01/2015, à 20:07

totola

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

genma a écrit :
#lancer VLC et récupérer le pid dans une variable
monPID = $(vlc & PID=$!)
# Afficher le PID (valeur dans la variable)
echo $monPID

J'ai dit résolu un peu vite peut-être... En suivant les instructions ci-dessus la variable monPID ne contient rien du tout... hmm

Hors ligne

#13 Le 30/01/2015, à 09:47

credenhill

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

essayer

vlc & PID=$! ; echo $PID

Dernière modification par credenhill (Le 30/01/2015, à 12:30)

Hors ligne

#14 Le 30/01/2015, à 19:03

totola

Re : (+ ou - Résolu) arrêter un seul processus vlc en ligne de commande

Merci, en fait le problème venait d'autre part: j'utilise ma commande dans un programme python avec le module fabric (pour utiliser ssh) et la commande run()... Et c'est pas si simple comme le dit la doc elle-même:

http://www.fabfile.org/faq.html#why-can … abric-hang

Ce qui est bizarre et si quelqu'un peut m'expliquer, c'est que la commande:

run('cvlc & PID=$!')
ou

run('cvlc & PID=$! &')

ne marchent pas... cvlc ne se lance même pas

en revanche:

run('cvlc & PID=$! | while (true) do sleep 100;done')

ou n'importe quel processus ou boucle infinie, et là tout fonctionne bien, cvlc se lance, je peux le tuer avec le PID... Bizarre... :s

Dernière modification par totola (Le 30/01/2015, à 19:04)

Hors ligne