我想爲一些需要高性能的系統管理腳本(用於比較python/perl等的性能)嘗試使用D。如何進行系統調用並讀取D中的stdout?
雖然我無法在教程中找到關於如何進行系統調用(即調用另一個軟件)並從stdout接收輸出的示例(dsource.org等)?
如果我錯過了,有人可以指點我正確的文檔/教程,或立即提供答案?
我想爲一些需要高性能的系統管理腳本(用於比較python/perl等的性能)嘗試使用D。如何進行系統調用並讀取D中的stdout?
雖然我無法在教程中找到關於如何進行系統調用(即調用另一個軟件)並從stdout接收輸出的示例(dsource.org等)?
如果我錯過了,有人可以指點我正確的文檔/教程,或立即提供答案?
那麼,我當然發現它:http://www.digitalmars.com/d/2.0/phobos/std_process.html#shell(版本使用探戈庫在這裏: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);
}
是。儘管文檔已經搞亂了,所以你現在看不到它。這需要修復... –
一個非常有用的例子! – vines