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 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
适用于
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
是有效的操作系统命令。 哪些命令有效取决于系统,但至少该命令必须是非空字符串列表。
如果 envp
为 null
,则子进程继承当前进程的环境设置。
在某些操作系统上启动进程可能需要最少的系统相关环境变量集。 因此,子进程可能会继承指定环境中的环境变量设置以外的其他环境变量设置。
ProcessBuilder#start()
现在是使用已修改环境启动进程的首选方法。
新子进程的工作目录由 dir
指定。 如果 dir
为 null
,则子进程继承当前进程的工作目录。
如果存在安全管理器,则使用数组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 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。