salut:
j'ai dans un programme qui lit des commands a travers le reseau. et parmis ces commandes il y en a une qui lui demande de lancer une applications en arriere plan
(je suis sous linux) donc je fait ca:
ca marche tout cool tout nikel mais voila que quand je demande au serveur de s'arretter il refuse de se relancer en me disant que le port 9076 (qu'il utilise est deja occuppe) Bind error.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(C_est_la_bonne_commande) system("nohup ./foo &");
puis apres une petite audit du reseau j'apprend que c'est foo qui utilise le port 9076.
surpris car foo n'utilse pas le reseau je me rend compte que la fonction system fait un fork donc elle a copier son code et tant que foo ne termine pas je ne peux pas relancer le serveur.
ma question est existe t-il une autre methode pour lancer un autre programe en arriere plan et fermer mon programme afin que foo se tourne tranquillement et que je puisse relance mon serveur sans encombre?
Merci
Partager