RunProcess

RunProcess["command"]

运行指定外部命令,返回输出信息.

RunProcess[{"command",arg1,arg2,}]

运行指定命令,其中命令行参数为 argi.

RunProcess[command,"prop"]

只返回指定属性.

RunProcess[command,prop,input]

把指定初始输入传给命令.

更多信息

  • RunProcess 阻止直至开启的过程已经结束.
  • RunProcess[command,prop,input] 中,input 自动使用 ToString 转化为字符串. 这对于RunProcess[{command,arg1,},] 中的 argi 是一样的.
  • 返回的典型可能属性包括:
  • "ExitCode"过程的退出代码
    "StandardOutput"发送给标准输出,作为字符串
    "StandardError"发送给标准误差的数据,作为字符串
    All所有属性的相关性(默认)
  • RunProcess 具有下列选项:
  • ProcessDirectoryInherited初始工作目录
    ProcessEnvironmentInherited提供的环境变量
  • 默认情况下,子进程将从 Wolfram 引擎继承过程目录和环境变量.

范例

打开所有单元关闭所有单元

基本范例  (4)

运行一个简单的外部命令:

运行一个命令,仅得到它所写入标准输出通道的内容:

给出函数的命令行选项:

Windows 中等价的命令:

运行一个命令,仅得到它的退出代码:

范围  (2)

运行命令行控制台和在它里面的几个命令,然后退出它:

运行具有相同输入的相同程序,但仅检索它的标准输出:

可能存在的问题  (4)

对程序和它的参数调用 RunProcess 的正确方式是使用列表:

使用在单个字符串中的命令和参数调用 RunProcess 不起作用:

并且,不允许使用程序参数作为 RunProcess 的参数调用 RunProcess

诸如 ~* 的特殊符号不使用 shell 展开进行转化,因为 RunProcess 跳过 shell:

诸如 direcho 的 shell 命令不能在 Windows 上直接调用,因为它们不是二进制文件(但是,在 Unix 系统上它们是二进制文件):

一些命令可能需要使用绝对路径调用:

Wolfram Research (2014),RunProcess,Wolfram 语言函数,https://reference.wolfram.com/language/ref/RunProcess.html.

文本

Wolfram Research (2014),RunProcess,Wolfram 语言函数,https://reference.wolfram.com/language/ref/RunProcess.html.

CMS

Wolfram 语言. 2014. "RunProcess." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/RunProcess.html.

APA

Wolfram 语言. (2014). RunProcess. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/RunProcess.html 年

BibTeX

@misc{reference.wolfram_2024_runprocess, author="Wolfram Research", title="{RunProcess}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/RunProcess.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_runprocess, organization={Wolfram Research}, title={RunProcess}, year={2014}, url={https://reference.wolfram.com/language/ref/RunProcess.html}, note=[Accessed: 22-November-2024 ]}