从控制器运行终端命令后主线程关闭

时间:2018-02-11 05:05:47

标签: python ruby-on-rails ruby multithreading gnome-terminal

def create
    # exec('python')
    Thread.new do
        puts"exec"
        exec('python3.7 -c "print(\"Ran a new command in thread\")"')
    end

    render json: {"message": "Successfully added image", "status": "200"}, status: :ok
end

此代码运行后服务器关闭

任何人都可以帮我理解这是什么问题吗?

1 个答案:

答案 0 :(得分:0)

我明白了。我应该使用system代替exec来运行我的命令。

system在子shell中运行命令。\

所以现在代码变成了

system 'python3.7 -c "print(\"Ran a new command in thread\")"'