Executer un programme en daemon

Fermé
ROM++ - 15 avril 2008 à 22:37
ROM88 Messages postés 57 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 20 juin 2009 - 17 avril 2008 à 16:42
Bonjour tout le monde,

j'essaie d'ecrire une sorte de scheduler en perl pour windows, je precise que ca doit etre pour windows et pas pour unix/linux

j'aimerais pouvoir executer mon script en mode service ou daemon pour ne pas toujours avoir le shell sous les yeux et parce que ca fait plus professionel, comment faire ceci?

autre chose, j'ai un probleme, mon programme est concu pour pouvoir lancer l'execution de plusieurs logiciels, seulement voila lors des essais il execute le premier de la liste seulement, voici une partie du code:

for ($i = 0; $i < $size; $i++){

system("$path[$i]");
sleep(5);
}

@path c'est l'array qui contient la liste des addresses des programmes a executer
si je remplace par print, j'ai toute la liste, et qqes rares fois il lance tous les programmes que je lui demande mais 98% du temps il s'obstine a ne lancer que $path[0] et apres ca l'execution de mon script continue indefiniment sans rien faire
A voir également:

3 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
16 avril 2008 à 11:17
se passer de la fenêtre console en Perl, je doute... Peut être avec des options à l'exécution.
Pour ton deuxième problème, regarde la documentation de la fonction system. En C, elle ne rend la main au programme qu'une fois que le programme est terminé.
comme tu es sous widows, essai :
system("start $PATH[$i]");
pour lancer le programme de manière détaché.
0
avec "start" ca ne marche qu'avec firefox.exe, les autres il me dit cannot find executable
vous pensez que l'addresse doit etre dans le PATH?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
17 avril 2008 à 08:22
qu'appel tu adresse et qu'appel tu PATH ?
il faut soit mettre le chemin complet de l'exe dans start soit que l'exe soit contenue dans un des dosseirs de la variable d'environnement PATH.
0
ROM88 Messages postés 57 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 20 juin 2009 1
17 avril 2008 à 16:42
euh oui oui desole, je traduis de l'anglais la...
pour adresse je voulais dire chemin
et pour PATH c'est effectivement la variable d'environnement

j'ai essayer start avec le chemin complet, ca marche pas...

par contre j'ai resolu le probleme en creant pour chaque programme un processus separe, comme ca pas besoin d'attendre le retour de controle....ca marche!

merci en tout cas!

toutefois j'arrive toujours pas a me debarrasser de la fenetre...je suis sur qu'on peut faire executer le script en mode service ou daemon , mais je sais pas comment
j'ai lu qqes articles la dessus, mais j'ai rien compris
0