【发布时间】:2011-10-16 03:13:48
【问题描述】:
我想尝试将D 用于一些需要高性能的系统管理脚本(用于与 python/perl 等进行性能比较)。
我在目前浏览的教程(dsource.org 等)中找不到有关如何进行系统调用(即调用另一个软件)并从标准输出接收其输出的示例?
如果我错过了,有人可以指点我正确的文档/教程,或者立即提供答案吗?
【问题讨论】:
标签: d system-calls
我想尝试将D 用于一些需要高性能的系统管理脚本(用于与 python/perl 等进行性能比较)。
我在目前浏览的教程(dsource.org 等)中找不到有关如何进行系统调用(即调用另一个软件)并从标准输出接收其输出的示例?
如果我错过了,有人可以指点我正确的文档/教程,或者立即提供答案吗?
【问题讨论】:
标签: d system-calls
好吧,那我当然找到了:http://www.digitalmars.com/d/2.0/phobos/std_process.html#shell(此处使用 Tango 库的版本:http://www.dsource.org/projects/tango/wiki/TutExec)。
以前的版本是与 D 2.0 一起工作的版本(因此是 ubuntu 附带的当前 dmd 编译器)。
我现在可以使用这个小例子,用 dmd 编译:
import std.stdio;
import std.process;
void main() {
string output = shell("ls -l");
write(output);
}
【讨论】:
std.process 已经更新,因为...新功能是 spawnShell
import std.stdio;
import std.process;
void main(){
auto pid = spawnShell("ls -l");
write(pid);
}
【讨论】: