Haxe - 添加事件以处理退出?

时间:2016-07-02 09:47:24

标签: process exists haxe event-listener

Haxe porgramming初学者在这里,我似乎找不到解决问题的方法。

我只是通过sys.io.Process在计算机上运行另一个程序。

import sys.io.Process;
import neko.Lib;

class Main 
{
    static function main() 
    {

        var cProcess = new Process(pClient + sArgs);
    }

}

我只希望我的Haxe程序能够运行" cProcess"存在。 所以我需要某种在cProcess关闭时调用函数的Eventhandler。

有谁知道如何解决这个问题? 欢迎任何建议!

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您只想等待该过程完成它的执行 只需调用exitCode(),它就会阻止,直到启动进程退出。

var cProcess = new Process(pClient + sArgs);
cProcess.exitCode();
trace("Done!");

答案 1 :(得分:1)

Mihail的解决方案很简单,应该可以使用。

如果您需要更多内容,可以尝试asys,这是Haxe标准库中sys包的异步版本。

var process = new asys.io.Process('your command');
process.exitCode().handle(function(code) trace('process exited with code: $code'));

它还取决于您运行的平台。如果你在像nodejs这样的异步io平台上运行,事情应该很简单。否则你必须考虑线程。