# File lib/chef/client.rb, line 162
    def run
      if(Chef::Config[:client_fork] && Process.respond_to?(:fork))
        Chef::Log.info "Forking chef instance to converge..."
        pid = fork do
          Chef::Log.info "Forked instance now converging"
          do_run
          exit
        end
        Chef::Log.info "Fork successful. Waiting for new chef pid: #{pid}"
        result = Process.waitpid2(pid)
        raise "Forked convergence run failed" unless result.last.success?
        Chef::Log.info "Forked child successfully reaped (pid: #{pid})"
        true
      else
        do_run
      end
    end