我有一个 ruby 脚本,中途我需要它来运行另一个程序。
运行程序后,脚本的其余部分不会运行。例如:
# some ruby that gets run
exe = "Something.exe"
system(exe)
# some ruby that doesnt run
我也尝试过使用
Open3.popen2e(cmd)
和 Open3.popen3(cmd)
但它是一样的。
任何人都可以帮助我了解这里发生了什么以及如何解决它吗?
注意:我使用的是Windows
尝试在新线程中运行
Something.exe
:
Thread.new { system("Something.exe") }
我在 WSL 上使用
spawn
从 Ruby 程序启动 djv
。 Ruby 程序很快就会退出,而 djv
会继续运行。这是代码:
realpath = File.realpath copy_filename
windows_path = `wslpath -m '#{realpath}'`.chomp
spawn 'cmd.exe', '/c',
"C:\\Program Files\\DJV2\\bin\\djv.com",
'-full_screen',
'-full_screen_monitor', '2',
windows_path