ruby: запуск команды из разветвленного дочернего процесса

У меня есть следующий фрагмент кода:

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

Кто-то может помочь? заранее спасибо


person Luca    schedule 26.05.2015    source источник
comment
ОПЕРАЦИОННЫЕ СИСТЕМЫ? Я без проблем запустил пример со скриптом sleep 10 ; ls в консоли Linux.   -  person Aleksei Matiushkin    schedule 26.05.2015
comment
ОС линукс. сценарий на самом деле представляет собой сценарий ткани, который запускает команду ssh на удаленной машине.   -  person Luca    schedule 27.05.2015


Ответы (1)