Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ruby:从分支子进程运行命令_Python_Ruby_Ssh_Io_Fabric - Fatal编程技术网

Python ruby:从分支子进程运行命令

Python ruby:从分支子进程运行命令,python,ruby,ssh,io,fabric,Python,Ruby,Ssh,Io,Fabric,我有以下代码片段: job1 = fork do ret = `some_bash_script_running_python_fabric_task` end Process.detach(job1) 此代码旨在对进程进行后台监控,以便父进程退出,而子进程继续在后台运行 结果,我得到一个python异常,声明termios.error:(5,'Input/output error') 我发现避免父进程退出可以修复这种情况,如下所示: job1 = fork do ret =

我有以下代码片段:

job1 = fork do
    ret = `some_bash_script_running_python_fabric_task`
end

Process.detach(job1)
此代码旨在对进程进行后台监控,以便父进程退出,而子进程继续在后台运行

结果,我得到一个python异常,声明
termios.error:(5,'Input/output error')

我发现避免父进程退出可以修复这种情况,如下所示:

job1 = fork do
    ret = `some_bash_script_running_python_fabric_task`
end

sleep 30
有人可以帮忙吗?
“提前感谢”

结果是将stdin从父进程重定向到子进程

见下文:

这就是解决方案:

read_io, write_io = IO.pipe
job1 = fork do
    write_io.close
    STDIN.reopen(read_io)

    puts `fab example`
end

Process.detach(job1)
read_io.close
write_io.close

操作系统?我用
sleep 10运行了一个示例;linux控制台中的ls
脚本没有任何问题。操作系统是linux。该脚本实际上是一个结构脚本,它在远程机器上运行ssh命令