这是我的代码段
def execution_start
puts "About to start"
system("appium")
puts "Done!!"
end
执行此操作时,我看到输出About to start
,并启动了appium服务器。但在那之后,我没有看到任何事情发生。它永远停滞不前。有什么想法吗?
答案 0 :(得分:5)
system
阻塞,直到它运行的命令完成。要运行命令并立即返回,请使用Process#spawn
:
def execution_start
puts "About to start"
pid = Process.spawn("appium")
puts "Done!!"
end
然后,您可以使用返回的PID来监视进程是否已完成执行,以及程序中稍后的退出代码。
(请注意,根据文档,您最终需要Process#wait
PID,或者至少使用Process#detach
注册不感兴趣以防止子进程成为僵尸。)