Bonjour,
en C
system("c:\travail\test.exe 123"); /* cet appel peut prendre du temps */
je veux arrêter le traitement si le temps dépasse certains temps
comment ajouter un timeout à ce code?
Merci
Bonjour,
en C
system("c:\travail\test.exe 123"); /* cet appel peut prendre du temps */
je veux arrêter le traitement si le temps dépasse certains temps
comment ajouter un timeout à ce code?
Merci
Ce que tu demandes n'est pas du ressort du C, mais plutôt de l'OS que tu utilises (d'où l'appel à system).
Sous windows:
Il faut lancer test.exe dans un processus, surveiller ce processus et le tuer s'il prend trop de temps.
cf CreateProcess
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".
Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java
Je ne réponds pas aux MP techniques
alarm permet de déclencher un signal (SIGALARM) au bout d'un certain temps.
Il suffit d'attrapper le signal (installer un handler de signal) pour être réveillé au bout de ce délai.
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
aaaaah, ça va améliorer ma culture Unix/linux... merci
Apparemment, sous Visual C, signal/alarm n'est pas une solution envisageable.
signal a l'air à peine implémenté et alarm pas du tout !
Juste une clarification, quand je dis :
Je pense aux fonctions genre system, CreateProcess, etc. qui font appels aux fonctionnalités de l'OS (cf API win32) et qui ne sont pas C au sens "propre".Ce que tu demandes n'est pas du ressort du C
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".
Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java
Je ne réponds pas aux MP techniques
Mais pas alarm(), et l'ensemble de signaux exigés par c99 est vachement restreint par rapport à POSIX.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager