IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

wget sans system(char*)


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut wget sans system(char*)
    Bonjour,
    dans le cadre d'un système multi-thread, j'utilise la commande system(char *) pour appeler un wget (sous unix).

    Toutefois, quelqu'un m'a dit: "c'est dangereux, un tiers peut récupérer ta fenêtre de terminal et donc prendre le contrôle...".
    Et sur le forum, j'ai vu quelqu'un qualifier cela de "barbare".

    Voici donc mes questions:
    - Pourquoi est-ce barbare et/ou dangereux ?
    - Auriez vous un exemple d'utilisation (ou autre solution que wget si aussi simple) d'appel de wget à partir des sources ?

    Merci par avance.

    Cordialement,
    MilacH

  2. #2
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut
    pas de réponse ...
    J'en déduis que ce n'est pas un problème si triviale ^^

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par milach Voir le message
    - Pourquoi est-ce barbare et/ou dangereux ?
    La commande system va souvent ouvrir un nouveau terminal. Si à la base ton application est graphique, ça peut faire bizarre de voir une fenêtre s'ouvrir. (C'est le cas sous windows, sous unix, je ne sais pas).

    Imaginons que ton programme serve à cascader des téléchargements : tu le lances, tu pars au café, quelqu'un peut venir sur ton post et fermer les fenêtre qu'il voit s'ouvrir les unes après les autres.
    Citation Envoyé par milach Voir le message
    - Auriez vous un exemple d'utilisation (ou autre solution que wget si aussi simple) d'appel de wget à partir des sources ?
    fork + exec (je ne crois que ça ouvre un nouveau terminal), mais à tester
    libcurl : la bibliothèque utilisée par cUrl (grosso modo un wget like cf : http://daniel.haxx.se/docs/curl-vs-wget.html)

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    fork + exec est effectivement la route à prendre pour créer un processus à partir d'un exécutable. Ca n'ouvre pas de shell, ni de console (exec remplace l'image du processus par une nouvelle, c'est pourquoi fork est nécessaire avant ; le nouveau processus hérite des file descriptors ouverts dans le parent).

    Sinon, il y a quantité de librairies qui fournissent des moyens d'aller querir un fichier via le protocole HTTP.

    Sous Windows, il faut utiliser la famille de fonction spawn, ou CreateProcess().
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. umount dans un programme C sans system(umount)
    Par billy242 dans le forum C
    Réponses: 2
    Dernier message: 31/05/2010, 17h21
  2. exéctuer un programme sans systeme d'exploitation
    Par Bornerdogge dans le forum C
    Réponses: 18
    Dernier message: 18/06/2007, 17h29
  3. [MS-SQL]Affichage incorrect : System.Char[]
    Par the big ben 5 dans le forum Bases de données
    Réponses: 10
    Dernier message: 30/11/2005, 09h52
  4. Ré-installation (du systeme) sans formatage, possible ?
    Par __fabrice dans le forum Administration système
    Réponses: 11
    Dernier message: 11/04/2005, 13h32
  5. Réponses: 1
    Dernier message: 20/08/2004, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo