В рубиновом процессе я развожу ребенка с системным вызовом в нем.Ruby Process.kill не может убить system() в рубиновом ребенке
Я хочу, чтобы иметь возможность убить ребенка и иметь, что распространяются на системный вызов, но системный вызов продолжает работать:
unless pid=fork
system("echo start ; sleep 1 ; echo 1 ; sleep 1 ; echo 2 ; sleep 1 ; echo 3")
exit
end
puts "Child: #{pid}"
sleep 2
Process.kill('-KILL',-pid)
Как я могу распространять умерщвление от рубинового до это раздвоенный системный вызов?
У меня аналогичная проблема, вы нашли решение этой проблемы в конце концов? – Calin
К какой проблеме? Использование exec() решает основную проблему. –
Не для меня http://stackoverflow.com/questions/41064139/terminating-a-ruby-fork-does-not-terminate-the-underlying-process – Calin