Module: Msip::ProcesosHelper

Defined in:
app/helpers/msip/procesos_helper.rb

Class Method Summary collapse

Class Method Details

.discousado_OpenBSD(ruta) ⇒ Object

Espacio en bytes usado por la ruta dada



41
42
43
44
45
# File 'app/helpers/msip/procesos_helper.rb', line 41

def discousado_OpenBSD(ruta)
  p = %x(du -s #{ruta})
  l = p.split(" ")
  return l[0].to_i * 512 # bytes
end

.espacioparticion_OpenBSD(ruta) ⇒ puntodemontaje, ...

Espacio en la partición que contiene la ruta dada

Returns:

  • (puntodemontaje, usado, libre)

    en bytes



50
51
52
53
54
55
# File 'app/helpers/msip/procesos_helper.rb', line 50

def espacioparticion_OpenBSD(ruta)
  p = %x(df #{ruta})
  l = p.split("\n")
  c = l[1].split(" ")
  return [c[5], c[2].to_i*512, c[3].to_i*512]
end

.procesos_OpenBSDObject

Retorna lista de procesos que corren en OpenBSD/adJ Cada entrada es un registro con campos:

pid: # de proceso
user: usuario que lo ejecut


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/helpers/msip/procesos_helper.rb', line 17

def procesos_OpenBSD
  rproc = []
  p = %x(ps axwwj)
  l = p.split("\n")
  l[1..-1].each do |p|
    pp = p.split(" ")
    rproc.push({
      user: pp[0],
      pid: pp[1].to_i,
      ppid: pp[2].to_i,
      pgid: pp[3].to_i,
      sess: pp[4].to_i,
      jobc: pp[5].to_i,
      stat: pp[6],
      tt: pp[7],
      time: pp[8],
      command: pp[9..-1].join(" "),
    })
  end
  rproc
end

.tamhumano(bytes) ⇒ Object

Retorna una representación para humanos en sistema internacional de unidades (ver es.wikipedia.org/wiki/Megabyte) de una cantidad en bytes



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'app/helpers/msip/procesos_helper.rb', line 62

def tamhumano(bytes)
  if bytes<10000
    return bytes.to_s
  end
  if bytes<1000*1000
    k = bytes/1000
    return k.to_s + "kB"
  end
  if bytes<1000*1000*1000
    m = bytes/(1000*1000)
    return m.to_s + "MB"
  end
  if bytes<1000*1000*1000*1000
    g = bytes/(1000*1000*1000)
    return g.to_s + "GB"
  end
  if bytes<1000*1000*1000*1000*1000
    t = bytes/(1000*1000*1000*1000)
    return t.to_s + "TB"
  end
  p = bytes/(1000*1000*1000*1000*1000)
  return p.to_s + "PB"
end