[résolu] tâche en arrière plan dans invite de commande winXP

tâche en arrière plan dans invite de commande winXP [résolu] - Win NT/2K/XP - Windows & Software

Marsh Posté le 03-08-2005 à 16:50:29    

salut,
tout est dans le titre, je pense.
je veux savoir s'il est possible, comme dans un shell UNIX de faire tourner une tache en arrière plan, dans le style:  
>./toto.h &
 
....mais sous windows...
 
voilà, merci d'avance


Message édité par lezioul le 04-08-2005 à 15:20:54
Reply

Marsh Posté le 03-08-2005 à 16:50:29   

Reply

Marsh Posté le 03-08-2005 à 17:08:45    

Peut être en rendant le programme en tant que service ?

Reply

Marsh Posté le 03-08-2005 à 17:11:53    

Citation :

- Charger une application comme un service :
L'intérêt est de lancer un programme qui se chargera indépendamment de la session utilisateur et s’effectuera en tâche de fond sans aucune interaction avec le Bureau Windows. On peut ainsi imaginer ce type d’usage pour un fichier script, un utilitaire réseau, un client Peer to Peer ou un serveur de jeu. Les exécutables nécessaires se trouvent dans le Windows Resource Kit Tools. Ce sont deux fichiers exécutables nommés Instsrv.exe et srvany.exe. Ils peuvent être téléchargés à partir de cette adresse : www.microsoft.com/downloads/detail [...] aylang=en.
Le principe de fonctionnement consiste à installer comme service srvany.exe, puis de mapper sur ce service le fichier exécutable désiré. Il est possible d'installer plusieurs services en leur attribuant chaque fois un nom différent. Prenons un exemple de création d’un service nommé "Nom_Service" :
1) Cliquez sur Démarrer/Exécuter, puis saisissez la commande : cmd.
2) En invite de commandes et en vous aidant de la commande Cd, placez-vous dans le dossier des Outils du Kit de Ressources Windows.
3) Saisissez : instsrv Nom_Service "C:\Program Files\Windows Resource Kits\Tools\srvany.exe".
Rappelons qu'un chemin contenant des espaces doit être placé entre des guillemets… Si tout s’est bien passé, vous obtiendrez ce message : "The service was successfuly added!"
4) Cliquez sur Démarrer/Exécuter, puis saisissez : services.msc.
5) Dans le Gestionnaire de services, double-cliquez sur votre nouveau service qui apparaît dans la liste des services installés.
Le fichier srvany.exe est chargé de l'exécution de votre nouveau service.
6) Cliquez sur l’onglet Connexion et cochez éventuellement la case Autoriser le service à interagir sur le Bureau.
7) Cliquez sur Démarrer/Exécuter, puis saisissez : regedit.
8) Dans l'éditeur du Registre, ouvrez HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Nom_Service.
9) Créez une nouvelle clé nommée Parameters puis, à l’intérieur, une valeur chaîne nommée Application.
10) Éditez cette valeur et saisissez comme données de valeur l’emplacement et le nom de l’exécutable que vous souhaitez lancer. Par exemple : C:\Program Files\Windows NT\Accessoires\wordpad.exe.
Nous avons mappé un éditeur de texte sur ce service.
11) Fermez toutes les fenêtres, puis redémarrez votre ordinateur.
Si vous souhaitez supprimer le service que vous avez créé, lancez à nouveau l'invite de commandes, puis tapez les commandes suivantes :
net stop Nom_Service
Instsrv Nom_Service remove
Là aussi, vous aurez droit à un petit message de confirmation : "The service was successfuly deleted!"

Reply

Marsh Posté le 03-08-2005 à 17:20:26    

voué, j'ai vu cette page, c'est certainement la solution, je vais voir, merci.
 
si des gens on une idée, je prends aussi...
 

Reply

Marsh Posté le 03-08-2005 à 17:23:09    

peut être en installant Cygwin, il doit pouvoir gérer "./toto.h & "
PS: attention à ne pas fermer le terminal sinon utilise :

Citation :

nohup ./toto.h &


Message édité par jlighty le 03-08-2005 à 17:23:17
Reply

Marsh Posté le 04-08-2005 à 15:19:47    

ouais, en fait c'est bon... c'était pour exécuter un shell qui lance une classe java (un logger pour être exact). finalement, le gars a fait un thread et c'est règlé.  
 
en tout cas, un grand merci à tous, j'édite le sujet.


Message édité par lezioul le 04-08-2005 à 15:20:11
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed