Ruby exucution stuck at system() line



这是我的代码片段

def execution_start
puts "About to start"
system("appium")
puts "Done!!"
end

执行此操作时,我看到输出About to start,并且启动了appium服务器。但在那之后,我没有看到任何事情发生。它永远卡住了。知道吗?

system块,直到它运行的命令完成。要运行命令并立即返回,请使用Process#spawn

def execution_start
puts "About to start"
pid = Process.spawn("appium")
puts "Done!!"
end

然后,可以使用返回的 PID 在程序的后面监视进程是否已完成执行,以及使用什么退出代码。

(请注意,根据文档,您最终需要Process#waitPID,或者至少使用Process#detach注册不感兴趣以防止子进程成为僵尸。

最新更新