# File lib/aruba/api.rb, line 192
    def run(cmd)
      cmd = detect_ruby(cmd)

      in_current_dir do
        announce_or_puts("$ cd #{Dir.pwd}") if @announce_dir
        announce_or_puts("$ #{cmd}") if @announce_cmd
        
        process = processes[cmd] = Process.new(cmd, timeout)
        process.run!

        block_given? ? yield(process) : process
      end
    end