nsIProcess

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

This interface represents an executable process.
Inherits from: nsISupports Last changed in Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)

Mis en œuvre par: @mozilla.org/process/util;1. Pour créer une instance, utilisez:

var process = Components.classes["@mozilla.org/process/util;1"]
              .createInstance(Components.interfaces.nsIProcess);

Méthodes

void init(in nsIFile executable);
void initWithPid(in unsigned long pid); Obsolète depuis Gecko 1.9.2
void kill();
void run(in boolean blocking, [array, size_is(count)] in string args, in unsigned long count);
void runAsync([array, size_is(count)] in string args, in unsigned long count, [optional] in nsIObserver observer, [optional] in boolean holdWeak);
void runw(in boolean blocking, [array, size_is(count)] in wstring args, in unsigned long count);
void runwAsync([array, size_is(count)] in wstring args, in unsigned long count, [optional] in nsIObserver observer, [optional] in boolean holdWeak);

Attributes

Attribute Type Description
exitValue long La valeur retournée par le processus à la sortie. Ceci est valable uniquement après la fin du processus. Lecture seule.
isRunning boolean true si le processus est en marche, sinon false. Précise seulement si le processus a été exécuté avec le blocage désactivé. Lecture seule.
location nsIFile

L'emplacement du fichier exécutable sur le disque. Lecture seule.

Gecko 1.9.1 note
This attribute is no longer implemented as of Gecko 1.9.1, and is removed entirely in Gecko 1.9.2.

pid unsigned long L'ID du processus. Cette valeur est uniquement disponible après le début du processus; En outre, certaines plates-formes ne peuvent pas offrir cette valeur. Lecture seule.
processName string

Le nom du processus. Lecture seule.

Gecko 1.9.1 note
This attribute is no longer implemented as of Gecko 1.9.1, and is removed entirely in Gecko 1.9.2.

processSignature unsigned long

La signature du processus. Lecture seule.

Gecko 1.9.1 note
This attribute is no longer implemented as of Gecko 1.9.1, and is removed entirely in Gecko 1.9.2.

Méthodes

init()

Initialise le nsIProcess avec le fichier exécutable spécifié. Une fois initialisé, vous pouvez commencer le processus d'exécution en appelant run().

Note :  Cette fonction ne fonctionne pas avec des kits d'applications sur Mac OS X, voir bug 307463 pour plus de détails

void init(
  in nsIFile executable
);
Paramètres
executable
Le fichier exécutable nsIFile représenté par l'objet nsIProcess.

initWithPid()

Obsolète depuis Gecko 1.9.2 (Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)

Initialise le nsIProcess pour représenter un processus existant, donne l'ID de ce processus.

Gecko 1.9.1 note
This method is no longer implemented as of Gecko 1.9.1, and is removed entirely in Gecko 1.9.2.

void initWithPid(
  in unsigned long pid
);
Paramètres
pid
L'identifiant du processus existant.

kill()

Termine immédiatement le processus représenté par la nsIProcess. Cela ne fonctionne que si le processus a été exécuté sans blocage.

Gecko 1.9.1 note
Prior to Gecko 1.9.1 (Firefox 3.5), this method did not work on Windows or Mac OS X. Now it does.

void kill();
Paramètres

Aucun.

run()

Commence l'exécution du processus.

Gecko 1.9.1 note
Prior to Gecko 1.9.1 (Firefox 3.5), this method returned the process ID of the newly executing process. It no longer returns a value.

void run(
  in boolean blocking,
  [array, size_is(count)] in string args,
  in unsigned long count
);
Paramètres
blocking
Si true, cette méthode permet de bloquer jusqu'à ce que le processus se termine; si false, la méthode renvoie immédiatement.
args
Un tableau de count arguments, en utilisant le jeu de caractères natif, à passer à l'exécutable en ligne de commande.
count
Le nombre d'arguments dans le tableau args.

runAsync()

Fonctionnement asynchrone du processus avec lequel l'objet a été initialisé, appelant éventuellement un observateur lorsque le processus ce termine.

void runAsync(
  [array, size_is(count)] in string args,
  in unsigned long count,
  in nsIObserver observer, Facultatif
  in boolean holdWeak Facultatif
);
Paramètres
args
Un tableau d'arguments à passer dans le processus, en utilisant le jeu de caractères natif. Ce tableau doit avoir count entrées.
count
Le nombre d'arguments passés dans le tableau args.
observer Facultatif
Un observateur qui sera notifiée lorsque le processus se termine. L'observateur recevra de l'instance nsIProcess «processus-fini" ou "processus échoué". L'observateur sera notifiée sur le thread principal.
holdWeak Facultatif
Si true, un weak reference est utilisé pour maintenir l'observateur.
 

runw()

Executes the file this object was initialized with.

void runw(
  in boolean blocking,
  [array, size_is(count)] in wstring args,
  in unsigned long count
);
Parameters
blocking
If true, this method will block until the process terminates; if false, the method returns immediately.
args
An array of count arguments, using UTF-16, to be passed to the executable on its command line.
count
The number of arguments in the args array.

runwAsync()

Asynchronously runs the process with which the object was initialized, optionally calling an observer when the process finishes running.

void runwAsync(
  [array, size_is(count)] in wstring args,
  in unsigned long count,
  in nsIObserver observer, Facultatif
  in boolean holdWeak Facultatif
);
Parameters
args
An array of arguments to pass into the process, using UTF-16. This array must have count entries.
count
The number of arguments passed in the args array.
observer Facultatif
An observer that will be notified when the process exits. The observer will receive this nsIProcess instance as the subject and "process-finished" or "process-failed" as the topic. The observer will be notified on the main thread.
holdWeak Facultatif
If true, a weak reference is used to hold the observer.

Example

//créer un nsIFile pour l'exécutable 
var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsIFile);
file.initWithPath("c:\\myapp.exe");

// créer un nsIProcess 
var process = Components.classes["@mozilla.org/process/util;1"]
                        .createInstance(Components.interfaces.nsIProcess);
process.init(file);

// Exécuter le processus. 
// Si le premier paramètre est vrai, le thread appelant sera bloqué  
//jusqu'à ce que le processus appelé se termine. 
//les deuxième et troisième params sont utilisés pour passer des  
//arguments de ligne de commande pour le processus. 
var args = ["argument1", "argument2"];
process.run(false, args, args.length);

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : jmh
 Dernière mise à jour par : jmh,