             usage.memory = usage.memory / (resources_usage_list.length * config.plugins.linux.monitor_cycle * 1000)
 
           app.redis.setex REDIS_OVERVIEW, 60, JSON.stringify(account_usage), ->
-            async.each _.keys(account_usage), (account_name) ->
+            async.each _.keys(account_usage), (account_name, callback) ->
               mAccount.byUsername account_name, (err, account) ->
+                unless account
+                  return callback()
+
                 if account_usage[account_name].cpu > account.attribute.resources_limit.cpu
-                  child_process.exec "pkill -SIGKILL -u #{account_name}", ->
+                  child_process.exec "sudo pkill -SIGKILL -u #{account_name}", ->
 
                 if account_usage[account_name].memory > account.attribute.resources_limit.memory
-                  child_process.exec "pkill -SIGKILL -u #{account_name}", ->
+                  child_process.exec "sudo pkill -SIGKILL -u #{account_name}", ->
 
                 callback()
             , ->

            if account_usage[account_name][type]
              account_usage[account_name][type] += value
            else
              account_usage[account_name][type] += value

          for item in resources_usage_list
            for account_name, cpu_usage of item.cpu

passwd_cache = {}

exports.run = ->
  exports.monitoring()
  setInterval exports.monitoring, config.plugins.linux.monitor_cycle

exports.loadPasswd = (callback) ->
  app.redis.get 'rp:passwd_cache', (err, passwd_cache) ->
