У меня есть программа Ruby A, которая вызывает программу Ruby B с помощью:
system("ruby programB.rb <parameters>")
При определенных условиях я хочу, чтобы программа B завершила свою работу (и связанную с ней подоболочку), но позволила программе A перейти к следующему набору параметров.
Однако exit()
и abort()
убивают как подоболочку, так и родителя, и я не могу заставить Process.kill("SIGTERM",0)
работать в программе B (к сожалению, это в Windows). У меня рубин 1.9.2.
Как я могу завершить программу B, не убивая при этом программу A?