top es una herramienta bastante útil para manejar procesos del sistema, me refiero a GNU/Linux (para variar jeje). Para quieres no sepan de que estoy hablando, les presento a top (pequeñas modificaciones respecto a la presentación predeterminada):
Como ven muestra bastante información :), algunos de los campos que considero más importantes:
top - 11:42:00 up 16:37, 4 users, load average: 0.36, 0.35, 0.43
Muestra cuanto tiempo lleva prendido el sistema, además del número de usuarios conectados a la misma (en consolas “tty”, consolas virtuales “pts”, etc)
Información sobre el estado de la memoria RAM en kb, el total (1.29 GB aprox.), cuanta usada (usada y en buffer, 838 MB aprox.), libre (455 MB aprox.) y en buffers (127 MB aprox.).
Lo mismo que para la memoria RAM pero ahora para la swap (memoria virtual en disco).
Columnas:
PID: Identificador del proceso (es como el nick XD)..
USER: Usuario que ha ejecutado el proceso.
PR: Prioridad del proceso en el sistema.
NI: Valor nice del proceso (si son negativos; tienen mayor prioridad, si son positivos; menos prioridad).
RES: Memoria RAM ocupada por el proceso.
%CPU: Porcentaje ocupado de la CPU
TIME+: Cuanto tiempo lleva el proceso en el sistema.
COMMAND: Nombre del procesos y sus parametros.
PPID: PID del proceso padre.
UID: ID del usuario que ha ejecutado el proceso.
Ya que sabemos más o menos lo que nos muestra top, podemos hacer algunas par de cosas más sobre la administración de los procesos (donde empieza la diversión XD).
1) Podemos activar/desactivar la linea de uptime con “l”.
5) Podemos eliminar un proceso con “k” y después escribir el PID del proceso.
PID to kill: 7209
6) Podemos cambiar el nivel de nice (columna NI) con “r”, valores negativos mayor prioridad, valores positivos menor prioridad, valor nice por defecto 10.
PID to renice: 7209
Renice PID 7209 to value: -1
PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
7209 5.4 184m 115m 68m 1284 99m 32m 885 0 S 14 -1 2 epiphany
7) Podemos con “G” cambiar el modo de presentación dependiendo lo que nos interese ver, regularmente a mí me gustar ver que tanto de memoria gasta cada proceso, para eso después de pulsar “G”, escribimos 3 y enter. Si quieres ver procesos por usuario podemos ponerle en 4. El predeterminado es 1.
Choose field group (1 - 4):
Podemos con “u” ver los procesos del usuario que le indiquemos.
Which user (blank for all): soullost
9) Podemos con “f” cambiar las columnas a mostrar.
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def
Toggle fields via field letter, type any other key to return
* A: PID = Process Id
* E: USER = User Name
* H: PR = Priority
* I: NI = Nice value
* O: VIRT = Virtual Image (kb)
* Q: RES = Resident size (kb)
* T: SHR = Shared Mem size (kb)
* W: S = Process Status
* K: %CPU = CPU usage
* N: %MEM = Memory usage (RES)
* M: TIME+ = CPU Time, hundredths
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
f: GROUP = Group Name
g: TTY = Controlling Tty
j: P = Last used cpu (SMP)
p: SWAP = Swapped size (kb)
l: TIME = CPU Time
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
y: WCHAN = Sleeping in Function
z: Flags = Task Flags <sched.h>
* X: COMMAND = Command name/line
10) Podemos con “o” (de oso xD) cambiar el orden de las columnas que especificamos anteriormente.
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def
Upper case letter moves field left, lower case right
* A: PID = Process Id
* E: USER = User Name
* H: PR = Priority
* I: NI = Nice value
* O: VIRT = Virtual Image (kb)
* Q: RES = Resident size (kb)
* T: SHR = Shared Mem size (kb)
* W: S = Process Status
* K: %CPU = CPU usage
* N: %MEM = Memory usage (RES)
* M: TIME+ = CPU Time, hundredths
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
f: GROUP = Group Name
g: TTY = Controlling Tty
j: P = Last used cpu (SMP)
p: SWAP = Swapped size (kb)
l: TIME = CPU Time
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
y: WCHAN = Sleeping in Function
z: Flags = Task Flags <sched.h>
* X: COMMAND = Command name/line
11) Podemos con “H” ver los procesos tomando en cuenta los threads de los mismos.
12) Podemos con “c” ver los argumentos de los procesos con los que han sido ejecutado.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7489 soullost 18 0 0 0 0 Z 0.0 0.0 0:00.00 [play] <defunct>
7387 soullost 15 0 66708 27m 11m S 0.0 2.2 0:03.72 eog file:///home/soullost/Desktop/top.png
7367 soullost 15 0 3408 1736 1400 S 0.0 0.1 0:00.06 bash
13) Podemos con “z” cambiar el color de las columnas :). Si estamos en el modo 3 para ver procesos según la memoria que usen, pulsamos “z” y después “x” tendremos las columnas de un color (en mi caso como purpura) y la correspondiente a la %MEM con un background resaltando dicha columna (me explico?). Algo como lo siguiente:
14) Podemos con “Z” modificar el color de las columnas cuando pulsamos “z”.15) Podemos con “n” o “#” definir el número de procesos a mostrar.
Maximum tasks = 2, change to (0 is unlimited): 2
PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
6054 2.4 49572 18m 29m 4 37m 2828 427 0 S 15 0 0.0 wish
6244 0.8 75040 62m 10m 36 34m 1640 4 0 S 15 0 0.0 trashapplet
16) Podemos con “A” mostrar top con multiventanas (similar a la primera imagen donde les presentaba a top).
17) Podemos guardar las preferencias y modificaciones de top con “W”.
18) Por último, podemos ver la ayuda de top con “h” :D..
Espero les sea de utilidad y que se diviertan jugando con top :).
Autounmask es un herramienta escrita en perl para los que usamos Gentoo como distribución de GNU/Linux, básicamente se encarga de desenmascarar paquetes y sus dependencias a la rama inestable (testing).
Para ver un ejemplo de la gran utilidad de esta herramienta basta con decir que hace unos días pase a testing gnome con la versión 2.18, para eso, les dejo los paquetes que agregué a mi package.keywords en /etc/portage:
Con todo esto, ya es posible actualizar gnome, pero aqui es donde entra autounmask, para desenmascarar gnome y todos sus paquetes basta con hacer:
autounmask gnome-base/gnome-2.18.0
Y en tu archivo packages.keywords se agregaran los paquetes antes mencionados automáticamente, aparte si hay que agregarlos al package.unmask por alguna razón también lo hace por si solo .
Algo más, podemos no poner la versión del paquete y nos arrojará las versiones que encuentre, tanto en la bd de portage como los overlay’s que tengamos en make.conf.
Por ejemplo:
UnderHouse ~ # autounmask dev-lang/tk
autounmask version 0.21 (using PortageXS-0.02.07 and portage-2.1.2.7)
* Using repositories:
/usr/portage
/usr/local/portage
/usr/local/layman
* The given category/package-version does not seem to exist. Listing existing versions:
* gentoo (/usr/portage):
dev-lang/tk-8.4.9
dev-lang/tk-8.4.14
* (/usr/local/portage):
dev-lang/tk-8.5.0
* (/usr/local/layman):
none
* Please pick one of the versions given above and try again.
Como siempre los desarrolladores de gentoo haciendo herramientas útiles para todos los usuarios. Que lo disfruten :P.
Se se, hoy hablaré de anime :P, resulta que no me gustaba del todo, hasta que mi hermana y la sonsa me empezaron a enganchar, empezé viendo Loveless ya que mi hermana me invitaba a verlo y luego seguí las recomendaciones de la sonsa.
Algunas de los anime que he visto y que me falta ver(que ya los tengo pero por falta de tiempo están rezagados):
1) Loveless
2) Full Metal Alchemist
3) Blood+
4) Hellsing
5) Gantz
Tampoco soy un otaku :P, bueno la verdad es que llevo poco rato que empezé a ver anime, como unos 4/5 meses xD.
Bueno vamos al grano, hoy revizando una revista de anime (para variar de mi hermana jaja) me encontre con un reportaje sobre Death Note ( Cuaderno de la Muerte).
Death Note trata sobre un personaje llamado Light y el libro de un dios de la muerte (que lo llaman Shinigami), la historia empieza cuando Ryuk (el shinigami) tira su cuaderno de la muerte al mundo de los humanos, lógicamente el que lo encuentra es Light. El poder del libro consiste en que si se escribe el nombre de una persona y se piensa en su rostro, éste morirá y además si no se especifica la causa de la muerte, morirá de un paro cardiaco, todo esto, lleva a enlazar a Ryuk con Light hasta que el cuaderno se destruya o Light muera. Light al darse cuenta de semejante poder en sus manos, empieza matando a criminales (excusa de mejorar el mundo en el que vivimos), lo cual origina que la ONU se fije de los asesinatos y traten de atrapar al causante. Entonces es ahi cuando aparece otro personaje llamado “L” que es como un detective que trata de unir todas las piezas para encontrar a “Kira” ( Pseudonombre que le otorgan a Light) al unirse con el gobierno de Japón.
Haciendo comparaciones 8), el drama que se maneja en la historia es muy similar al que se ha hecho con la serie Prison Break (que en agosto empieza su tercera temporada, creo) a diferencia de toque personal de los animes, con un ir y venir de conclusiones y sorpresas mientras se va desarrollando, eso que apenas voy viendo 6 capítulos jejeje =].
Para que se den una idea:
Si tienes buena conexión de internet puedes verlo en:
A que no saben qué? Llegó fin de semestre y la semana y media para los exámenes (recuperaciones, extraordinarios), por lo tanto, como soy relisto xD estuve esta semana sin navegar mucho :P.
Resumiendo las materias (copiando a la madona):
Matemáticas V: :):):):(:(:(
Teoría de la Computación: :):):):):):)
Desarrollo sustentable: :):):):):):)
IO: >:( N/A
Circuitos: :):):):):(:(
Como sea, me llevo buenos cimientos sobre analizadores sintácticos, circuitos y matemáticas xD (que realmente fueron las únicas materias rescatables). Lo bueno es que la semana que viene ya prácticamente se termino todo, dos días más para extraordinarios y se acabo (no pregunten si me llevo extras de mate XD).
Bueno, hoy tengo mucho sueño O.o y les comparto un pequeño programa (que se puede pasar a POO y demás yerbas, pero por el tiempo encima, ps que pasa de un gramática libre de contexto a la FNC (forma normal de chomsky) con algunas restricciones :P.