如何让Dart在服务器中运行单独的进程?

如何让Dart在服务器中运行单独的进程?,dart,Dart,例如,下面是一个简单的dart代码: #import('dart:io'); main() { var server = new HttpServer(); server.listen('127.0.0.1', 8080); server.defaultRequestHandler = (HttpRequest request, HttpResponse response) { response.outputStream.write('Hello, world'.charC

例如,下面是一个简单的dart代码:

#import('dart:io');

main() {
  var server = new HttpServer();
  server.listen('127.0.0.1', 8080);
  server.defaultRequestHandler = (HttpRequest request, HttpResponse response) {
    response.outputStream.write('Hello, world'.charCodes());
    response.outputStream.close();
  };
}
当web服务器打印“Hello,world”时,我想运行一个进程来运行 长期繁重的任务,但不希望它阻碍当前进程。我能知道怎么处理吗?谢谢


我尝试了
进程。运行
进程。启动
但没有成功

从你的评论中,我可以看出人们对Dart如何产生外部进程存在误解。当您在Dart中生成一个进程时,它在默认情况下正在运行,因此Dart程序和外部程序是分开运行的(因此在不同的进程中),Dart程序可以执行其他内容。然后,您可以等待程序的结果(例如,当程序关闭时)

因此,以“&”作为参数运行进程没有多大意义(我想这是试图告诉它应该与Dart程序分开运行)

但是,由于您正在生成另一个DART程序,还应该考虑使用一个隔离体,它可以在另一个线程上执行您自己的方法,或者使用以下代码运行外部代码:


您能否展示一下您是如何尝试使用
进程的。运行
进程。启动
?它应该可以工作,但可能您做错了什么。Process.start('dart',['./lib/src/service/AnalysisFile.dart','&')//失败,在我的过程结束后。Process.runSync('dart',['./lib/src/service/AnalysisFile.dart','&',runInShell:true)//好啊