#10:
Hola, soy windowsero y sé perfectamente lo que es un proceso en estado Zombie. No todos los que usamos windows somos tan listos como los que usan Linux, pero te aseguro que unos cuantos lo intentamos.
#3:
En mis tiempos, los hombres de verdad mataban a los zombies con escopetas recortadas
#12:
Aquí va una de las prácticas de Laboratorio de Sistemas Operativos de la USAL de hace... 2 o 3 años. Esto sólo es un par de cachos para que os hagáis una idea:
–-
El mecanismo de procreación, tanto para elfos como para hobbits, consistirá en los siguientes pasos:
1. La parte femenina de la pareja mostrará su disponibilidad para la procreación enviando la señal SIGUSR1 a su pareja.
2. La parte masculina, una vez recibida la señal, responde a su pareja enviando la señal SIGUSR1.
3. La parte femenina decide cuántas veces se ha de repetir los dos pasos anteriores al azar (entre 2 y 11, úsese la función rand()).
4. Una vez satisfecha, y como no necesita más de la parte masculina, le envía la señal SIGTERM. Su pareja muere, por consiguiente.
5. La parte femenina, finalmente, tiene un proceso hijo. La única diferencia en el proceso de procreación de hobbit y elfos está en que los elfos lo realizan sin consumir CPU mientras que los hobbits (al igual que los humanos, por cierto) sí que la consumen y realizan espera ocupada.
–-
Eso es de una, y aquí va otro cacho...
–-
La lucha entre los dos magos seguirá las siguientes reglas:
1. El campo de batalla es una zona de memoria compartida donde se aloja una variable energia de tipo long long.
2. La variable energia comenzará con el valor de 200000.
3. Gandalf, cuando tenga la CPU, incrementará la variable energia en pasos de dos en dos.
4. Por su parte, Saruman, en posesión de la CPU, decrementará la variable energia de uno en uno.
5. Cuando la variable supere o sea igual a 600000, Gandalf ganará.
6. Si la variable toma valor negativo, es Saruman el vencedor.
7. Mientras dure la lucha, se producirá una salida a tiempo real por la pantalla:
+ Se usarán los códigos del terminal VT100 que se han proporcionado en el resumen de las llamadas al sistema.
+ Al principio, se limpiará la pantalla.
+ En la séptima línea, empezando a contar por la parte superior de la pantalla, se escribirá SARUMAN, 62 espacios en blanco para el campo de batalla y GANDALF.
+ Mientras dure la batalla, se posicionará el cursor en los 62 espacios en blanco, según vaya progresando la lucha. Esto es, cuando la variable energia valga 0, el cursor se posicionará sobre el segundo espacio, cerca de SARUMAN. Si alcanza su valor límite, el cursor se pondrá sobre el espacio sexagéximo segundo. En una situación intermedia el cursor se posicionará proporcionalmente al valor de la energía.
–-
A alguno con unos enunciados tan divertidos seguro que le está molando la idea de hacer ingeniería informática pero... que se os quite esa idea de la cabeza
#11:
Yo con windows no necesito eso. Microsoft me manda un chuck norris con el cd de instalación.
Los zombies mueren al matar al padre, hasta ahí correcto, pero es una chapuza hacer eso. El proceso hijo queda zombie a la espera que se lea la información que dió al terminar. Para leerla se puede usar waitpid() , por ejemplo así:
int main(int argc, char **argv)
return 1; }
Así se quita de la tabla de procesos correctamente.
NOTA: Para terminar haced Ctrl+C
Hola, soy windowsero y sé perfectamente lo que es un proceso en estado Zombie. No todos los que usamos windows somos tan listos como los que usan Linux, pero te aseguro que unos cuantos lo intentamos.
Aquí va una de las prácticas de Laboratorio de Sistemas Operativos de la USAL de hace... 2 o 3 años. Esto sólo es un par de cachos para que os hagáis una idea:
–-
El mecanismo de procreación, tanto para elfos como para hobbits, consistirá en los siguientes pasos:
1. La parte femenina de la pareja mostrará su disponibilidad para la procreación enviando la señal SIGUSR1 a su pareja.
2. La parte masculina, una vez recibida la señal, responde a su pareja enviando la señal SIGUSR1.
3. La parte femenina decide cuántas veces se ha de repetir los dos pasos anteriores al azar (entre 2 y 11, úsese la función rand()).
4. Una vez satisfecha, y como no necesita más de la parte masculina, le envía la señal SIGTERM. Su pareja muere, por consiguiente.
5. La parte femenina, finalmente, tiene un proceso hijo. La única diferencia en el proceso de procreación de hobbit y elfos está en que los elfos lo realizan sin consumir CPU mientras que los hobbits (al igual que los humanos, por cierto) sí que la consumen y realizan espera ocupada.
–-
Eso es de una, y aquí va otro cacho...
–-
La lucha entre los dos magos seguirá las siguientes reglas:
1. El campo de batalla es una zona de memoria compartida donde se aloja una variable energia de tipo long long.
2. La variable energia comenzará con el valor de 200000.
3. Gandalf, cuando tenga la CPU, incrementará la variable energia en pasos de dos en dos.
4. Por su parte, Saruman, en posesión de la CPU, decrementará la variable energia de uno en uno.
5. Cuando la variable supere o sea igual a 600000, Gandalf ganará.
6. Si la variable toma valor negativo, es Saruman el vencedor.
7. Mientras dure la lucha, se producirá una salida a tiempo real por la pantalla:
+ Se usarán los códigos del terminal VT100 que se han proporcionado en el resumen de las llamadas al sistema.
+ Al principio, se limpiará la pantalla.
+ En la séptima línea, empezando a contar por la parte superior de la pantalla, se escribirá SARUMAN, 62 espacios en blanco para el campo de batalla y GANDALF.
+ Mientras dure la batalla, se posicionará el cursor en los 62 espacios en blanco, según vaya progresando la lucha. Esto es, cuando la variable energia valga 0, el cursor se posicionará sobre el segundo espacio, cerca de SARUMAN. Si alcanza su valor límite, el cursor se pondrá sobre el espacio sexagéximo segundo. En una situación intermedia el cursor se posicionará proporcionalmente al valor de la energía.
–-
A alguno con unos enunciados tan divertidos seguro que le está molando la idea de hacer ingeniería informática pero... que se os quite esa idea de la cabeza
Los zombies mueren al matar al padre, hasta ahí correcto, pero es una chapuza hacer eso. El proceso hijo queda zombie a la espera que se lea la información que dió al terminar. Para leerla se puede usar waitpid() , por ejemplo así:
int main(int argc, char **argv)
return 1; }
Así se quita de la tabla de procesos correctamente.
NOTA: Para terminar haced Ctrl+C
Y esto tenía que llegar a portada?? Para empezar... ¿Es realmente una noticia? La conversación friki de 3 pavos charlando en una terminología propia de su profesión? La conversación tiene poca o nula grcia... no se... será que me he levantado con mal pie esta mañana pero ciertamente a veces no entiendo algunas cosas...
No veo donde el articulo original dice nada de los "windowseros". Que ganas de inventarse titulares para sesgar la noticia...
En windows existen procesos, hilos, y se pueden matar, y a fe mía que se pueden quedar "zombies" (aunq esa no sea la nomenclatura más usada).
Se confunde "usuario" de un sistema operativo, que no tiene pq saber q coño es un proceso (o es q el usuario de un telefono movil tiene q saber q es una portadora, un bucle de abonado o un tono DTMF para poder usarlo?) con el programador o técnico o ingeniero que conoce y manipula ese sistema.
Lo q pasa es q linux tiene muy pocos usuarios ajenos al mundo de la informática, pero eso, me temo, no puede ser considerado precisamente una virtud.
#10 Buen intento,pero olvidalo compañero.Los linuxeros están a otro nivel..saben mas que nadie por el mero hecho de usar linux y siempre tienen la razon,siempre. Incluso seguramente mas de uno se acaba de enterar de lo que es un proceso, pero se mofara de un windowsero y hará como que lo sabia de toda la vida.Son asi
En cuanto a la noticia,como no le veo la gracia ni el interes por ningun sitio,será que soy un windowsero .
#20 totalmente deacuerdo ,no creo que hubiese llegado a portada de no incluir la referencia a los windowseros, y basicamente me parece una gilipollez de noticia)
#13 Creo que te confundes tú. El proceso huérfano es aquel en que su padre ha muerto antes que él. Sin embargo el zombie es aquel que ha muerto, y no se ha leido su información de estado de finalización.
Si te creas un programa que cree un hijo ,y muere el hijo, y luego muere el padre, si haces ps -aux verás que efectivamente ambos se han borrado de la tabla de procesos. El propio kernel se encarga dequitarlos de la tabla de procesos.
Ahora piensa en un programa un poquito más complejo. Pongamos un árbol de unos 25 procesos hijos, cada uno ejecutando una tarea, y el padre gestionando la comunicación entre ellos. Si uno de los hijos muere, si observas la tabla de procesos (ps -aux nuevamente), verás que el que ha muerto tiene el indicativo Z . Se ha quedado, efectivamente zombie. Y así se quedará hasta que muera el padre, o hasta que se lea su información de finalización.
Por supuesto pongamos un sistema en tiempo real crítico; El padre no puede ser terminado bajo ningún concepto, por lo tanto tienes que limpiar los procesos que has terminado. No hacerlo se considera un fallo en el programa, una mala costumbre, y además una chapuza propia de no haber entendido un carajo en clases de SSOO.
Es posible que en el código haya cosas innecesarias. Modifiquémoslo:
int main(int argc, char **argv)
return 1; }
Ejecuta, y mientras dura el sleep, comprueba en otra consola la tabla de procesos; verás un maravilloso ZOMBIE.
#10 Te puedo asegurar que el sistema operativo que uses no define tu coeficiente intelectual. Ellos quieren creen que sí, que son más listos y mejores, pero no es así. Ya quisieran algunos tuxis estar a la altura de muchos administradores de Windows (Entornos MS en general).
Es cachondo si, pero me parece que intentar hacer ver que los windowseros no saben de procesos, hilos o threads o como quieras llamarlo, es un poco temerario.
Es cierto que que con vb6.0 la gestion de hilos de ejecucion no era posible, cosa que ya no ocurre con la version de .net, donde puedes manejar procesos de ejecucion a la perfeccion, para trabajar bajo sistemas windows. Además tambien en java se pueden hacer programa para windows verdad? y en java se utilizan la gestion de procesos. Es mas hasta se puede trabajar con librerias de C o C++, usando componentes COM/COM+ desde aplicaciones vb o usando la API de interoperabilidad para VB.Net con COM+.
¿Sabeis que son los compenentes COM+ los linuxeros? igual no, pero no os preocupeis, no sois peores informaticos por no saberlo :-P, solo que estais en otra rama del arbol.
A mi lo que me mola es que la noticia ha sido votada 60 veces sin haber sido leída siquiera #7. En la próxima noticia no olvidaré poner la palabra windowsero.
Pero reconozco que también pensaba que era un juego de rol...
como bien dice #21 windowsero != inutil. Es cierto que hay más ignorancia informática entre windowseros que linuxeros, pero también es cierto que hay (mucho) más de todo !!!.
Naaaa, lo que pasa es que en windowseros se incluyen la mayoria de No informaticos y contarlos es hacer trampa .
Tambien es casualidad leer esta noticia cuando en el curro estoy peleandome precisamente con los:
CreateThread()
WaitForSingleObject()
CreateMutex()
KillThread()
...
Argg, malditos zombies. (tomo nota de lo de la recortada)
Comentarios
Hola, soy windowsero y sé perfectamente lo que es un proceso en estado Zombie. No todos los que usamos windows somos tan listos como los que usan Linux, pero te aseguro que unos cuantos lo intentamos.
En mis tiempos, los hombres de verdad mataban a los zombies con escopetas recortadas
Los hombres de verdad matan los procesos dándole un puñetazo a la torre
Yo con windows no necesito eso. Microsoft me manda un chuck norris con el cd de instalación.
Aquí va una de las prácticas de Laboratorio de Sistemas Operativos de la USAL de hace... 2 o 3 años. Esto sólo es un par de cachos para que os hagáis una idea:
–-
El mecanismo de procreación, tanto para elfos como para hobbits, consistirá en los siguientes pasos:
1. La parte femenina de la pareja mostrará su disponibilidad para la procreación enviando la señal SIGUSR1 a su pareja.
2. La parte masculina, una vez recibida la señal, responde a su pareja enviando la señal SIGUSR1.
3. La parte femenina decide cuántas veces se ha de repetir los dos pasos anteriores al azar (entre 2 y 11, úsese la función rand()).
4. Una vez satisfecha, y como no necesita más de la parte masculina, le envía la señal SIGTERM. Su pareja muere, por consiguiente.
5. La parte femenina, finalmente, tiene un proceso hijo. La única diferencia en el proceso de procreación de hobbit y elfos está en que los elfos lo realizan sin consumir CPU mientras que los hobbits (al igual que los humanos, por cierto) sí que la consumen y realizan espera ocupada.
–-
Eso es de una, y aquí va otro cacho...
–-
La lucha entre los dos magos seguirá las siguientes reglas:
1. El campo de batalla es una zona de memoria compartida donde se aloja una variable energia de tipo long long.
2. La variable energia comenzará con el valor de 200000.
3. Gandalf, cuando tenga la CPU, incrementará la variable energia en pasos de dos en dos.
4. Por su parte, Saruman, en posesión de la CPU, decrementará la variable energia de uno en uno.
5. Cuando la variable supere o sea igual a 600000, Gandalf ganará.
6. Si la variable toma valor negativo, es Saruman el vencedor.
7. Mientras dure la lucha, se producirá una salida a tiempo real por la pantalla:
+ Se usarán los códigos del terminal VT100 que se han proporcionado en el resumen de las llamadas al sistema.
+ Al principio, se limpiará la pantalla.
+ En la séptima línea, empezando a contar por la parte superior de la pantalla, se escribirá SARUMAN, 62 espacios en blanco para el campo de batalla y GANDALF.
+ Mientras dure la batalla, se posicionará el cursor en los 62 espacios en blanco, según vaya progresando la lucha. Esto es, cuando la variable energia valga 0, el cursor se posicionará sobre el segundo espacio, cerca de SARUMAN. Si alcanza su valor límite, el cursor se pondrá sobre el espacio sexagéximo segundo. En una situación intermedia el cursor se posicionará proporcionalmente al valor de la energía.
–-
A alguno con unos enunciados tan divertidos seguro que le está molando la idea de hacer ingeniería informática pero... que se os quite esa idea de la cabeza
Un apunte a la charla:
Los zombies mueren al matar al padre, hasta ahí correcto, pero es una chapuza hacer eso. El proceso hijo queda zombie a la espera que se lea la información que dió al terminar. Para leerla se puede usar waitpid() , por ejemplo así:
int main(int argc, char **argv)
return 1;
}
Así se quita de la tabla de procesos correctamente.
NOTA: Para terminar haced Ctrl+C
Hola,
En las profesiones serias la gente envía enlaces que apuntan a la noticia, no a los comentarios
Y esto tenía que llegar a portada?? Para empezar... ¿Es realmente una noticia? La conversación friki de 3 pavos charlando en una terminología propia de su profesión? La conversación tiene poca o nula grcia... no se... será que me he levantado con mal pie esta mañana pero ciertamente a veces no entiendo algunas cosas...
#34 dicho con todo el cariño del mundo
No veo donde el articulo original dice nada de los "windowseros". Que ganas de inventarse titulares para sesgar la noticia...
En windows existen procesos, hilos, y se pueden matar, y a fe mía que se pueden quedar "zombies" (aunq esa no sea la nomenclatura más usada).
Se confunde "usuario" de un sistema operativo, que no tiene pq saber q coño es un proceso (o es q el usuario de un telefono movil tiene q saber q es una portadora, un bucle de abonado o un tono DTMF para poder usarlo?) con el programador o técnico o ingeniero que conoce y manipula ese sistema.
Lo q pasa es q linux tiene muy pocos usuarios ajenos al mundo de la informática, pero eso, me temo, no puede ser considerado precisamente una virtud.
relacionada: Mata procesos en GNU/Linux al estilo Doom
Mata procesos en GNU/Linux al estilo Doom
cs.unm.edu#37: No hay derecho, ya están los 217 de siempre meneándosela a ese capullo...
oh wait!
#30 por cierto, que eso es cosecha propia de xeon, el que ha enviado el enlace, no de David
#10 Buen intento,pero olvidalo compañero.Los linuxeros están a otro nivel..saben mas que nadie por el mero hecho de usar linux y siempre tienen la razon,siempre. Incluso seguramente mas de uno se acaba de enterar de lo que es un proceso, pero se mofara de un windowsero y hará como que lo sabia de toda la vida.Son asi
En cuanto a la noticia,como no le veo la gracia ni el interes por ningun sitio,será que soy un windowsero .
#20 totalmente deacuerdo ,no creo que hubiese llegado a portada de no incluir la referencia a los windowseros, y basicamente me parece una gilipollez de noticia)
j0az si esto era de coña
#1 No me confundas los zombies con los huérfanos...
El while(1) no es necesario, para nada. Solo va a morir una vez el hijo... además, solo hay uno -> waitpid(PID_Hijo,&status,0); o wait(&status);
Por otra parte... al morir el padre, en Linux 2.6 se matan los procesos huérfanos, úsease, no es necesario enterrarlos.
#6, gracias, arreglado.
¿Nadie se ha dado cuenta hasta el voto número 60?
#13 Creo que te confundes tú. El proceso huérfano es aquel en que su padre ha muerto antes que él. Sin embargo el zombie es aquel que ha muerto, y no se ha leido su información de estado de finalización.
Si te creas un programa que cree un hijo ,y muere el hijo, y luego muere el padre, si haces ps -aux verás que efectivamente ambos se han borrado de la tabla de procesos. El propio kernel se encarga dequitarlos de la tabla de procesos.
Ahora piensa en un programa un poquito más complejo. Pongamos un árbol de unos 25 procesos hijos, cada uno ejecutando una tarea, y el padre gestionando la comunicación entre ellos. Si uno de los hijos muere, si observas la tabla de procesos (ps -aux nuevamente), verás que el que ha muerto tiene el indicativo Z . Se ha quedado, efectivamente zombie. Y así se quedará hasta que muera el padre, o hasta que se lea su información de finalización.
Por supuesto pongamos un sistema en tiempo real crítico; El padre no puede ser terminado bajo ningún concepto, por lo tanto tienes que limpiar los procesos que has terminado. No hacerlo se considera un fallo en el programa, una mala costumbre, y además una chapuza propia de no haber entendido un carajo en clases de SSOO.
Es posible que en el código haya cosas innecesarias. Modifiquémoslo:
int main(int argc, char **argv)
return 1;
}
Ejecuta, y mientras dura el sleep, comprueba en otra consola la tabla de procesos; verás un maravilloso ZOMBIE.
Y luego me cuentas....
Todos los días se aprende algo, sobre todo los novatos en Linux. Más fácil en http://es.wikipedia.org/wiki/Proceso_zombie
Y la mejor práctica de laboratorio de SSOO de TODAS:
Tolkien: http://avellano.usal.es/~labssoo/pract104.htm
Ya están los de siempre meneándosela los unos a los otros...
#29 "En cuanto hablas de procesos con alguien windowsero o del mundo exterior... ¿que coño es eso?"
no se yo ehh
#33 Si yo no digo nada de David, solo que la noticia en este caso de xeon, es un poco denigrante para los que trabajamos en windows
Zombies?????
vaya guarrería, las personas serias utilizan plan9 jejejejejejejeje
#10 Te puedo asegurar que el sistema operativo que uses no define tu coeficiente intelectual. Ellos quieren creen que sí, que son más listos y mejores, pero no es así. Ya quisieran algunos tuxis estar a la altura de muchos administradores de Windows (Entornos MS en general).
Aleh!
Es cachondo si, pero me parece que intentar hacer ver que los windowseros no saben de procesos, hilos o threads o como quieras llamarlo, es un poco temerario.
Es cierto que que con vb6.0 la gestion de hilos de ejecucion no era posible, cosa que ya no ocurre con la version de .net, donde puedes manejar procesos de ejecucion a la perfeccion, para trabajar bajo sistemas windows. Además tambien en java se pueden hacer programa para windows verdad? y en java se utilizan la gestion de procesos. Es mas hasta se puede trabajar con librerias de C o C++, usando componentes COM/COM+ desde aplicaciones vb o usando la API de interoperabilidad para VB.Net con COM+.
¿Sabeis que son los compenentes COM+ los linuxeros? igual no, pero no os preocupeis, no sois peores informaticos por no saberlo :-P, solo que estais en otra rama del arbol.
Algunos windowseros, sabemos programar
#40: " I didn't know she was three"
A mi lo que me mola es que la noticia ha sido votada 60 veces sin haber sido leída siquiera #7. En la próxima noticia no olvidaré poner la palabra windowsero.
Pero reconozco que también pensaba que era un juego de rol...
#13 Lo último que dices está mal.
De toda la vida de Dios... si el padre muere, los hijos son adoptados por Init (pid = 1).
David es un trollaco linuxero, pero creo que en este post no está insultando a nadie por usar o dejar de usar Windows...
Temos tumbao el blog
#34
#30 porque es un troll, cony
#38 Eso de capullo ¿por quién va?
como bien dice #21 windowsero != inutil. Es cierto que hay más ignorancia informática entre windowseros que linuxeros, pero también es cierto que hay (mucho) más de todo !!!.
Chuck Norris mata los procesos con la mirada.
La festa fib nos ha dejado tocados, eh?
uhmm, suena como kriptópolis y las bombas fork
int main()
return 1;
}
#5 Me has pillado, quería joder a todos los talibanes linuxeros...No ha colado?
PD: Es broma, si te fijas bien en el bucle entra una vez, y no crea procesos dentro de él.
salu2
sudo kill -9 `pidof windows`
Naaaa, lo que pasa es que en windowseros se incluyen la mayoria de No informaticos y contarlos es hacer trampa .
Tambien es casualidad leer esta noticia cuando en el curro estoy peleandome precisamente con los:
CreateThread()
WaitForSingleObject()
CreateMutex()
KillThread()
...
Argg, malditos zombies. (tomo nota de lo de la recortada)
es una pena esta noticia