J'essaie d'appeler un programme (ncbi blast, pour ceux qui ont besoin de le savoir) depuis mon code, en appelant la commande dans un appel system().L'exécution du programme externe via system() ne fonctionne pas correctement
Si j'exécute la chaîne directement dans le shell, cela fonctionne comme prévu, mais si j'essaie la même chaîne via system(), le programme revient beaucoup plus vite, sans les résultats escomptés. Le fichier de sortie est créé, mais la taille du fichier est 0. Le code d'erreur renvoyé est également 0. J'ai même essayé d'ajouter "> output.log 2> error.log" mais ces fichiers ne sont pas créés.
Je suppose qu'il a quelque chose à voir avec les variables d'environnement ou le chemin ...
Le nom du fichier de sortie est donnée par -o paramètre de ligne de commande, pas la redirection de sortie. J'ai lu quelque chose à propos de la commande popen étant peut-être mieux adapté à mon cas d'utilisation, mais je ne peux pas le trouver, de quelle bibliothèque s'agit-il?
Vous avez essayé de spécifier le chemin d'accès complet au programme dans l'appel system()? – moonshadow
Comment lancez-vous l'application parente? – Bernard
@moonshadow oui, le chemin complet est spécifié pour le système() appel – brandstaetter