Share via


Runtime.Exec 方法

定义

重载

Exec(String)

在单独的进程中执行指定的字符串命令。

Exec(String[])

在单独的进程中执行指定的命令和参数。

Exec(String, String[])

在具有指定环境的单独进程中执行指定的字符串命令。

Exec(String[], String[])

在具有指定环境的单独进程中执行指定的命令和参数。

Exec(String, String[], File)

在具有指定环境和工作目录的单独进程中执行指定的字符串命令。

Exec(String[], String[], File)

在具有指定环境和工作目录的单独进程中执行指定的命令和参数。

Exec(String)

在单独的进程中执行指定的字符串命令。

[Android.Runtime.Register("exec", "(Ljava/lang/String;)Ljava/lang/Process;", "GetExec_Ljava_lang_String_Handler")]
public virtual Java.Lang.Process? Exec (string? command);
[<Android.Runtime.Register("exec", "(Ljava/lang/String;)Ljava/lang/Process;", "GetExec_Ljava_lang_String_Handler")>]
abstract member Exec : string -> Java.Lang.Process
override this.Exec : string -> Java.Lang.Process

参数

command
String

指定的系统命令。

返回

用于管理子进程的新 Process 对象

属性

例外

如果无法执行请求的程序,则为 。

注解

在单独的进程中执行指定的字符串命令。

这是一种方便的方法。 表单 exec(command) 的调用的行为方式与调用 #exec(String, String[], File) exec(command, null, null)完全相同。

java.lang.Runtime.exec(java.lang.String)Java 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

适用于

Exec(String[])

在单独的进程中执行指定的命令和参数。

[Android.Runtime.Register("exec", "([Ljava/lang/String;)Ljava/lang/Process;", "GetExec_arrayLjava_lang_String_Handler")]
public virtual Java.Lang.Process? Exec (string[]? cmdarray);
[<Android.Runtime.Register("exec", "([Ljava/lang/String;)Ljava/lang/Process;", "GetExec_arrayLjava_lang_String_Handler")>]
abstract member Exec : string[] -> Java.Lang.Process
override this.Exec : string[] -> Java.Lang.Process

参数

cmdarray
String[]

包含要调用的命令及其参数的数组。

返回

用于管理子进程的新 Process 对象

属性

例外

如果无法执行请求的程序,则为 。

注解

在单独的进程中执行指定的命令和参数。

这是一种方便的方法。 表单 exec(cmdarray) 的调用的行为方式与调用 #exec(String[], String[], File) exec(cmdarray, null, null)完全相同。

java.lang.Runtime.exec(java.lang.String[])Java 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

适用于

Exec(String, String[])

在具有指定环境的单独进程中执行指定的字符串命令。

[Android.Runtime.Register("exec", "(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;", "GetExec_Ljava_lang_String_arrayLjava_lang_String_Handler")]
public virtual Java.Lang.Process? Exec (string? command, string[]? envp);
[<Android.Runtime.Register("exec", "(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;", "GetExec_Ljava_lang_String_arrayLjava_lang_String_Handler")>]
abstract member Exec : string * string[] -> Java.Lang.Process
override this.Exec : string * string[] -> Java.Lang.Process

参数

command
String

指定的系统命令。

envp
String[]

字符串数组,其中每个元素的格式 名称=都有环境变量设置,或者 null 子进程是否应继承当前进程的环境。

返回

用于管理子进程的新 Process 对象

属性

例外

如果无法执行请求的程序,则为 。

注解

在具有指定环境的单独进程中执行指定的字符串命令。

这是一种方便的方法。 表单 exec(command, envp) 的调用的行为方式与调用 #exec(String, String[], File) exec(command, envp, null)完全相同。

java.lang.Runtime.exec(java.lang.String, java.lang.String[])Java 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

适用于

Exec(String[], String[])

在具有指定环境的单独进程中执行指定的命令和参数。

[Android.Runtime.Register("exec", "([Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;", "GetExec_arrayLjava_lang_String_arrayLjava_lang_String_Handler")]
public virtual Java.Lang.Process? Exec (string[]? cmdarray, string[]? envp);
[<Android.Runtime.Register("exec", "([Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;", "GetExec_arrayLjava_lang_String_arrayLjava_lang_String_Handler")>]
abstract member Exec : string[] * string[] -> Java.Lang.Process
override this.Exec : string[] * string[] -> Java.Lang.Process

参数

cmdarray
String[]

包含要调用的命令及其参数的数组。

envp
String[]

字符串数组,其中每个元素的格式 名称=都有环境变量设置,或者 null 子进程是否应继承当前进程的环境。

返回

用于管理子进程的新 Process 对象

属性

例外

如果无法执行请求的程序,则为 。

注解

在具有指定环境的单独进程中执行指定的命令和参数。

这是一种方便的方法。 表单 exec(cmdarray, envp) 的调用的行为方式与调用 #exec(String[], String[], File) exec(cmdarray, envp, null)完全相同。

java.lang.Runtime.exec(java.lang.String[], java.lang.String[])Java 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

适用于

Exec(String, String[], File)

在具有指定环境和工作目录的单独进程中执行指定的字符串命令。

[Android.Runtime.Register("exec", "(Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;", "GetExec_Ljava_lang_String_arrayLjava_lang_String_Ljava_io_File_Handler")]
public virtual Java.Lang.Process? Exec (string? command, string[]? envp, Java.IO.File? dir);
[<Android.Runtime.Register("exec", "(Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;", "GetExec_Ljava_lang_String_arrayLjava_lang_String_Ljava_io_File_Handler")>]
abstract member Exec : string * string[] * Java.IO.File -> Java.Lang.Process
override this.Exec : string * string[] * Java.IO.File -> Java.Lang.Process

参数

command
String

指定的系统命令。

envp
String[]

字符串数组,其中每个元素的格式 名称=都有环境变量设置,或者 null 子进程是否应继承当前进程的环境。

dir
File

子进程的工作目录,或者 null 子进程是否应继承当前进程的工作目录。

返回

用于管理子进程的新 Process 对象

属性

例外

如果无法执行请求的程序,则为 。

注解

在具有指定环境和工作目录的单独进程中执行指定的字符串命令。

这是一种方便的方法。 表单 exec(command, envp, dir) 的调用的行为方式与 调用 #exec(String[], String[], File) exec(cmdarray, envp, dir)完全相同,其中 cmdarray 是 中 command所有标记的数组。

更确切地说, command 字符串使用 StringTokenizer 由调用 new {@link StringTokenizer (命令) } 创建的 (无需进一步修改字符类别)拆分为标记。 然后,tokenizer 生成的标记将按相同的顺序放置在新的字符串数组 cmdarray中。

在 1.3 中添加。

java.lang.Runtime.exec(java.lang.String, java.lang.String[], java.io.File)Java 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

适用于

Exec(String[], String[], File)

在具有指定环境和工作目录的单独进程中执行指定的命令和参数。

[Android.Runtime.Register("exec", "([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;", "GetExec_arrayLjava_lang_String_arrayLjava_lang_String_Ljava_io_File_Handler")]
public virtual Java.Lang.Process? Exec (string[]? cmdarray, string[]? envp, Java.IO.File? dir);
[<Android.Runtime.Register("exec", "([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;", "GetExec_arrayLjava_lang_String_arrayLjava_lang_String_Ljava_io_File_Handler")>]
abstract member Exec : string[] * string[] * Java.IO.File -> Java.Lang.Process
override this.Exec : string[] * string[] * Java.IO.File -> Java.Lang.Process

参数

cmdarray
String[]

包含要调用的命令及其参数的数组。

envp
String[]

字符串数组,其中每个元素的格式 名称=都有环境变量设置,或者 null 子进程是否应继承当前进程的环境。

dir
File

子进程的工作目录,或者 null 子进程是否应继承当前进程的工作目录。

返回

用于管理子进程的新 Process 对象

属性

例外

如果无法执行请求的程序,则为 。

注解

在具有指定环境和工作目录的单独进程中执行指定的命令和参数。

给定字符串数组 cmdarray(表示命令行的标记)和表示“环境变量”设置的字符串 envp数组,此方法将创建一个新进程,用于执行指定命令。

此方法检查是否 cmdarray 是有效的操作系统命令。 哪些命令有效取决于系统,但至少该命令必须是非空字符串列表。

如果 envpnull,则子进程继承当前进程的环境设置。

在某些操作系统上启动进程可能需要最少的系统相关环境变量集。 因此,子进程可能会继承指定环境中的环境变量设置以外的其他环境变量设置。

ProcessBuilder#start() 现在是使用已修改环境启动进程的首选方法。

新子进程的工作目录由 dir指定。 如果 dirnull,则子进程继承当前进程的工作目录。

如果存在安全管理器,则使用数组cmdarray的第一个组件作为其参数调用其SecurityManager#checkExec checkExec方法。 这可能会导致 SecurityException 引发 。

启动操作系统进程高度依赖于系统。 许多可能出错的事情包括: <ul><li>操作系统程序文件未找到。 <拒绝>访问程序文件。 <li>工作目录不存在。 </ul>

在这种情况下,将引发异常。 异常的确切性质依赖于系统,但它始终是 的 IOException子类。

如果操作系统不支持创建进程, UnsupportedOperationException 则会引发 。

在 1.3 中添加。

java.lang.Runtime.exec(java.lang.String[], java.lang.String[], java.io.File)Java 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

适用于