He decidido volver a escribir en mi blog.
December 28, 09 by admin

Os dejo un script escrito en python que utilizo a menudo para comprobar si un proceso está corriendo, es una tontería que hoy no daba con él y aquí ya no se me pierde más.
#!/usr/bin/python
import os, sys
command = " -ef | grep -v grep | grep " + sys.argv[1]
res = os.popen("ps" + command)
cont = 0
for line in res:
cont = cont + 1
if cont > 1:
print 1
else:
print 0
Updated:
#!/usr/bin/python
import os, sys, smtplib
filename = "/tmp/" + sys.argv[1] + ".txt"
sender = ""
to = ""
server = ""
command = " -ef | grep -v grep | grep " + sys.argv[1]
res = os.popen("ps" + command)
cont = 0
for line in res:
cont = cont + 1
if cont > 1:
if (os.path.isfile(filename)):
os.remove(filename)
pass;
else:
try:
f = open(filename, "r")
f.read()
f.close()
except:
server = smtplib.SMTP(server)
server.set_debuglevel(0)
headers = "From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" % (sender, to, sys.argv[1] + " caido")
server.sendmail(sender, to, headers)
server.quit()
f = open(filename, "w")
f.write("enviado")
f.close()
Saludos.
UPDATE:
Ha vuelto a la vida, habrá que esperar para ver que ha ocurrido…
——————————————–
En el dia de ayer apareció en la página de Milw0rm un mensage firmado por /stroke en la que llegaba a decir como que la falta de tiempo le llevaba a abandonar el proyecto. Creo que todos pensabamos que iba a ser un parón temporal, que acabaría por reconducir milw0rm hacia quizás una herramienta más colaborativa, con más personas trabajando, o que quizás se hiciera cargo otra gente … o quien sabe … , pero nadie creo que se imaginó que hoy mismo, ahora mismo, en poco más de 24 horas, iba a dejar de existir.
Espero que se deba a una caida temporal debido a esa reconducción que todos esperamos, sino creo que todos nosotros tendremos que empezar a vivir sin Milw0rm, y sin más tendremos que asumir que Milw0rm a muerto.
Al menos siempre nos quedará un recuerdo suyo en la cache de google.
De chico flipaba escuchando esta canción con mi Walkman SONY. La podía escuchar 20 veces seguidas.
“ser felices ya que es lo único que podemos hacer que valga la pena”
Paranoid android
Please could you stop the noise I’m tryin to get some rest
From all the unborn chicken voices in my head
What’s that?
What’s that?
When I am king you will be first against the wall
With your opinions which are of no consequence at all
What’s that?
What’s that?
Ambition makes you look pretty ugly
Kicking screaming gucci little piggy
You don’t remember, you don’t remember
Why don’t you remember my name?
Off with his head man, off with his head!
Why won’t he remember my name?
I guess he does
Raindown raindown come and raindown on me
From a great height, from a great haaaeeeeeiii.
haaaaeeeeeiiii
Raindown rain down come and rain down on me
From a great height, from a great aaaaaeeeeee
That’s it sir you’re leaving
The crackle of pig skin
The dust and the screaming
The yuppies networking
The panic
The vomit
The panic
The vomit
God loves his children
God loves his children, yeah
Parece que han cometido el error empresial que los guiará al abismo, han dejado de copiar a Mac Os para copiar a KDE.
Windows 7

Porque no todos los viernes son iguales.
Voy a intentar explicaros como cargar los datos de nuestra base de datos usando JavaScript con las librerias(jQuery y jSonT) y PHP.
Lo primero es conocer cada elemento que vamos a usar:
jQuery es una librería en JavaScript diseñada para otorgar a nuestra aplicación todas las ventajas de la tecnología Ajax una de las más populares.
jSonT también es una librería para JavaScript que usaremos para representar los valores de la base de datos en tablas, en ella podemos definir plantillas que podremos ir utilizando para la representación de la información en tablas.
PHP lo usaremos para la comunicación con la base de datos, y la definición de clases si fuera necesario.
MySql es el motor de base de datos elejido.
Empezaremos con el fichero html index.html
<html>
<head>
<title>Ejemplo</title>
<script src=”js/jquery.js” language=”Javascript”></script>
<script src=”js/jsont.js” language=”Javascript”></script>
<script src=”js/jsont-style.js” language=”Javascript”></script>
<script src=”js/myajax.js” language=”Javascript”></script>
<script>
loadTable(“table_productos”, get_data(‘products’, ‘getAll’, ”), ‘products_jsont’);
</script>
</head>
<body>
<div id=”table_productos”>
</div>
</body>
</html>
Declaramos las librerias jquery y jsont, el archivo jsont-style.js será donde definiremos las plantillas de jsont.
Creamos un div donde cargaremos la tabla con los datos.
Llamamos a la función loadTable que a su vez llama a get_data, veremos lo que hace a continuación.
myajax.js
function loadWeb(pag) {
if (typeof window.ActiveXObject != ‘undefined’ ) req = new ActiveXObject(“Microsoft.XMLHTTP”);
else req = new XMLHttpRequest();
req.open(“GET”, pag, false);
req.send(null);
return req.responseText;
}
function get_data( place, func , more){
var code = “include/interfaz.php?type=”+ place +”&function=”+ func + more;
var res = loadWeb( code );
return eval(res);
}
function loadTable( strId, xarray, type ){
$( “#”+ strId ).append(jsonT(xarray, t[type]));
}
loadWeb nos cargara el contenido de una web de manera sincrona, con esto conseguimos capturar el json generado por en el archivo interfaz.php en una variable javaScript
get_data es la encargada de llamar a loadWeb, definimos dentro de la estructura de interfaz.php indicarles que hacieones debe tomar
loadTable nos creará la tabla en la id que le indiquemos como parámetro con el codigo json devuelto por get_data y con la plantilla jSonT
jsont-style.js
var t = new Array;
t["products_jsont"] = { “self”: “<table id=”products_table”>{$}</table>”,
“self[*]“: “<tr id=’{$.id_product}’><td>{$.name}</td><td>{$.description}</tr>” };
Aquí tenemos la plantilla que vamos a usar en este caso concreto para los datos de productos.
Pues en definitiva, un mecanismo muy potente y poderoso para hacer autenticas maravillas.
Espero no haberme saltado nada :S
Estoy hasta los whitney del ” j o d i d o ” avahi, lo elimine a pesar de que apt me advertía de que una dependecia de avahi era ubuntu-desktop!! pero la desistalción no llegaba a los 3 M , y ahora mirar las dependencias que me trae banshee.
apt-get install banshee-extension-mirage banshee banshee-1
Se instalarán los siguientes paquetes extras:
avahi-daemon libboo2.0-cil libnotify0.4-cil podsleuth
Paquetes recomendados
libnss-mdns
Se instalarán los siguientes paquetes NUEVOS:
avahi-daemon banshee-1 banshee-extension-mirage libnotify0.4-cil podsleuth
Se actualizarán los siguientes paquetes:
libboo2.0-cil
Alguien sabe algo sobre esa extraña relación que tiene avahi con apt, esto es cosa de ubuntu ??