Bonjour,

J'utilise des qprocess pour executer des commandes en fond.

Cela marche tres bien mais j'aurais besoin de tester le retour de la commande mais je rencontre les soucis suivants :
dans ma console bash :
Si j'utilise la commande execute du qprocess :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
>>> process = QProcess()
>>> test = process.execute("ffmpeg")
ffmpeg version 0.8.8-6:0.8.8-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
  built on Oct 22 2013 12:36:33 with gcc 4.8.1
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
 
Use -h to get full help or, even better, run 'man ffmpeg'
>>> print(test)
1
Comment faire avec la commande start ?
j'ai essayé ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
>>> process = QProcess()
>>> test = process.start("ffmpeg")
>>> print(test)
None
>>> process.exitStatus()
0
>>> process.exitCode()
0
>>> process.error()
5
Finalement il me dit juste que le QProcess s'est terminé normalement mais pas que la commande elle, s'est mal terminée...

Pour le retour d'erreur, Il me donne toujours 5 que la commande se passe bien ou non.


Ma question est donc la suivante : Est-il possible de récupérer après coup et sans utiliser exécute le retour de la commande elle même et non le retour du QProcess ?

Merci à vous !