nsISupports
最后修改于Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)Implemented by: @mozilla.org/process/util;1
. To create an instance, use:
var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess);
Method overview
void init(in nsIFile executable); |
void initWithPid(in unsigned long pid); 已废弃 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); |
属性
属性名称 | 属性类型 | 属性描述 |
exitValue |
long |
The value returned by the process upon exit. This is only valid after the process has exited. Read only. |
isRunning |
boolean |
true if the process is running, otherwise false . Only accurate if the process was run with blocking disabled. Read only. |
location |
|
The location of the executable file on disk. Read only. 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 |
The process ID of the process. This value is only available after the process has started; in addition, some platforms may not offer this value at all. Read only. |
processName |
string |
The name of the process. Read only. 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 |
The process signature. Read only. 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.
|
方法
init()
Initializes the nsIProcess
with the specified executable file. Once initialized, you can start the process executing by calling run()
.
void init( in nsIFile executable );
参数
-
executable
-
The
nsIFile
executable file to be represented by thensIProcess
object.
initWithPid()
Initializes the nsIProcess
to represent an existing process, given that process's ID.
void initWithPid( in unsigned long pid );
参数
-
pid
- The process ID to begin to represent.
kill()
立即终止该nsIProcess对象所代表的进程
,只在该进程是非阻塞方式启动的情况下才有效.
void kill();
参数
无.
run()
开始执行进程.
void run( in boolean blocking, [array, size_is(count)] in string args, in unsigned long count );
参数
-
blocking
-
如果为
true
,则该方法会阻塞,直到所打开的进程关闭为止,如果为false
,则该方法会立即返回. -
args
-
An array of
count
arguments, using the native character set, to be passed to the executable on its command line. -
count
-
参数
args中的参数个数
.
runAsync()
Asynchronously runs the process with which the object was initialized, optionally calling an observer when the process finishes running.
void runAsync( [array, size_is(count)] in string args, in unsigned long count, in nsIObserver observer, 可选 in boolean holdWeak 可选 );
Parameters
-
args
-
An array of arguments to pass into the process, using the native character set. This array must have
count
entries. -
count
-
The number of arguments passed in the
args
array. -
observer
可选 -
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
可选 -
If
true
, a weak reference is used to hold the observer.
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; iffalse
, 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, 可选 in boolean holdWeak 可选 );
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
可选 -
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
可选 -
If
true
, a weak reference is used to hold the observer.
Example
// create an nsILocalFile for the executable var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath("c:\\myapp.exe"); // create an nsIProcess var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file); // Run the process. // If first param is true, calling thread will be blocked until // called process terminates. // Second and third params are used to pass command-line arguments // to the process. var args = ["argument1", "argument2"]; process.run(false, args, args.length);
See also
nsIFile
nsILocalFile
nsIProcess2
已废弃 Gecko 1.9.2