Runtime.Exec 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| 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 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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(command)} 创建的标记中分解为标记,无需进一步修改字符类别。 然后,tokenizer 生成的标记将按相同的顺序放置在新的字符串数组 cmdarray中。
已在 1.3 中添加。
适用于 . 的 java.lang.Runtime.exec(java.lang.String, java.lang.String[], java.io.File)Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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 为有效的操作系统命令。 哪些命令有效是系统依赖的,但至少该命令必须是非空的非空字符串列表。
null如果是envp,子进程将继承当前进程的环境设置。
在一些操作系统上启动进程可能需要一组最少的系统依赖环境变量。 因此,子进程可能会继承除指定环境中的环境变量设置以外的其他环境变量设置。
ProcessBuilder#start() 现在是使用修改环境启动进程的首选方法。
由新子进程的工作目录指定 dir。
null如果是dir,子进程将继承当前进程的当前工作目录。
如果存在安全管理器,则会使用数组cmdarray的第一个组件作为其参数调用其SecurityManager#checkExec checkExec方法。 这 SecurityException 可能会导致引发。
启动操作系统进程高度依赖于系统。 许多可能出错的事情包括: <ul><li>操作系统程序文件未找到。 <对程序文件的 li>访问被拒绝。 <li>工作目录不存在。 </ul>
在这种情况下,将引发异常。 异常的确切性质取决于系统,但它始终是一 IOException个子类。
如果操作系统不支持创建进程,将引发一个 UnsupportedOperationException 。
已在 1.3 中添加。
适用于 . 的 java.lang.Runtime.exec(java.lang.String[], java.lang.String[], java.io.File)Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。