def start_child
      @child_thread ||= Thread.new do # rubocop:disable Naming/MemoizedInstanceVariableName
        Open3.popen3(child_env_vars, *ruby_command, context_file) do |_, stdout, stderr|
          @pid = stdout.gets.strip.to_i

          while (line = stderr.gets)
            print "!! #{line}"
          end
        end
      end
    end
def start_child
      @child_thread ||= Thread.new do # rubocop:disable Naming/MemoizedInstanceVariableName
        Open3.popen3(child_env_vars, *ruby_command, context_file) do |_, stdout, stderr|
          @pid = stdout.gets.strip.to_i

          while (line = stderr.gets)
            print "!! #{line}"
          end
        end
      end
    end
Sets necessary ivars
 Starts a child process in a child-watching-thread
 Reads it's PID from the new process' STDOUT and sets it as an instance variable