[ncurse+dup2] flux standard non relu sous windows
Résolu/FerméChar Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 2 oct. 2023 à 00:14
- [ncurse+dup2] flux standard non relu sous windows
- Netflix standard avec pub - Accueil - Streaming
- Installer windows 11 sur pc non compatible - Accueil - Windows
- Clé windows 10 gratuit - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
2 réponses
Modifié le 18 avril 2023 à 12:08
Salut Char Sniper,
Désolé, je n'ai pas d'installation Windows fonctionnelle pour tester ton code.
Cependant, dans mes souvenirs, fork() sous Windows ne se comporte pas du tout comme sous Linux, à moins d'utiliser Cygwin pour compiler et exécuter ton programme avec ce runtime (et encore, de mémoire, ce n'est pas parfait).
Une autre solution pour les versions Windows récentes disposant de WSL (Windows Subsystem for Linux) est d'exécuter ton programme dans ce sous-système.
Sinon, la façon de faire "normale" sous Windows est de passer par leurs API win32 avec CreateProcess() et CreatePipe(). Tu as du code d'exemple là :
2 oct. 2023 à 00:14
Bonjour,
Merci Dal de ta réponse. J'ai réussi à faire fonctionner le bouzin, je m'y prenait mal.
Mais autant ça fonctionne nickel sous Linux, autant sous win, ça bug dans tout les sens, mais pas franchement :
Des fois le flux est redirigé, des fois non. Le waitpid capture le processus qui meure une fois sur deux. Bref, une cata. J'ai laché l'affaire. Comme tu le dis "ce n'est pas parfait". Msys2 est très similaire à Cygwin, je crois même qu'ils partagent une histoire et du code source.
Et pas envie d'aprendre l'API win, même si c'est la solution la plus logique.