Articles of popen

Comment affecter le résultat d’une commande shell à une variable en langage C

Je souhaite que la sortie de la commande shell ( echo free | grep Mem| awk ‘{print $2}’ ) soit collectée dans une variable afin que je puisse l’utiliser dans un programme C. J’ai donc le code ici. system(“TOTAL=$(echo `free | grep Mem| awk ‘{print $2}’`)”); popen(“grep -v procs $1 | grep -v free | […]

Popen () peut-il créer des tuyaux bidirectionnels comme pipe () + fork ()?

J’implémente la tuyauterie sur un système de fichiers simulé en C ++ (principalement en C). Il doit exécuter des commandes dans le shell hôte, mais effectuer lui-même la création de la tuyauterie sur le système de fichiers simulé. Je pouvais y parvenir avec les appels système pipe() , fork() et system() , mais je préférerais […]

C – Obtenir le PID du processus ouvert avec popen

J’ai un programme écrit en C, qui ouvre un autre programme en utilisant popen. Je voudrais obtenir le pid de ce programme ou une sorte de gestionnaire pour le tuer, de manière à le tuer après un certain délai, ou s’il dépasse certaines limites de la mémoire vive et du nombre de points stdout Je […]

c: attraper un segfault dans exec () qui a été exécuté dans un processus enfant

MODIFIER: J’essaie d’écrire un smoketest simple, où toutes les options et parameters raisonnables sont testés. J’ai utilisé popen () pour exécuter le programme à tester. L’utilisation de cette approche ne fonctionne pas, car si le processus meurt avec un signal (SIGINT, SIGSEGV …), le tuyau de popen () ne me dit pas ce qui est […]

Problème d’écriture dans un tuyau entre les programmes Fortran et C

J’ai un programme écrit en Fortran par quelqu’un d’autre qui lit par conséquent quelques choses à partir de l’entrée standard, puis effectue des calculs et affiche le résultat. Ce que je veux faire est de l’exécuter plusieurs fois avec différentes données d’entrée d’un autre programme, écrit en C par moi. Pour ce faire, j’utilise popen […]

Pourquoi Popen ne communique-t-il pas avec mpg123?

J’écris un serveur multimédia pour mon framboise pi. J’ai pu créer un programme qui utilise popen pour contrôler omxplayer via une télécommande. Je voudrais maintenant contrôler mpg123 pour la musique. J’ai pris le même code que Popen dans le programme omxplayer et je l’ai appliqué à mpg123, mais cela ne fonctionne pas. Il démarre mais […]

Comment passer plusieurs commandes en utilisant popen en C?

GNUPLOT tracer des graphiques en utilisant GNUPLOT qui est une interface en ligne de commande. Mais je dois l’intégrer dans le programme c, de sorte que si le programme est exécuté, le graphique est tracé. Cela peut être fait en utilisant la commande popen . J’ai fait un code où je suis en train de […]

popen crée un processus extra sh

J’essaie d’exécuter (fork) une commande avec popen et ce que je vois, c’est qu’il y a un sh -c “my_command process” supplémentaire sh -c “my_command process” est également là. Je veux minimiser le nombre de processus, est-il possible de s’en débarrasser? ps sortie: root@home% ps awux | grep my_command root 638 0.0 0.1 040 1424 […]

Puis-je ouvrir bash à partir d’un stream popen ()?

Selon la page de manuel popen (), j’ouvre un fichier /bin/sh… Y at-il un moyen de surcharger ce comportement pour ouvrir un shell / bin / bash et interagir avec les scripts du shell BASH? Ou dois-je ouvrir une connexion de style pty pour le faire?

tuer un processus commencé avec popen

Après avoir ouvert un tuyau vers un processus avec popen , existe-t-il un moyen de supprimer le processus qui a été démarré? (Utiliser pclose n’est pas ce que je veux car cela va attendre la fin du processus, mais je dois le tuer.)