J’ai fait un programme client-serveur simple en c en utilisant des sockets et maintenant je veux le tester, en simulant de nombreux clients qui se connectent au serveur en même temps! J’ai écrit un script pour exécuter le client: ne travaille pas pour moi car il a attendu que chaque client ait fini.
J’ai aussi écrit un autre programme dans c, cette fois avec des threads pour pouvoir exécuter chaque client avec le system(./client)
et ensuite détacher le thread, mais encore une fois, j’ai eu le même problème!
Alors, quelle est la bonne façon de mettre en œuvre cela?
La solution la plus simple consiste à faire votre script shell, mais en plaçant un & after l’appel ./clientk, qui le mettra en arrière-plan et exécutera la commande suivante immédiatement.
Voici un moyen très simple de lancer un certain nombre de clients sans attendre que chacun se termine:
#!/bin/bash for i in $(seq 0 20) do ./client & done wait