这是我的代码片段
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#wait
PID,或者至少使用Process#detach
注册不感兴趣以防止子进程成为僵尸。