Versión para impresora

Haz click aquí para ver este tema en su formato original

Foro _ Sistemas Operativos _ Kill Bill

Publicado por: Nikolodeon el 24/03/2008 06:01

Ya estuve investigandole y creo que necesito una ayuda :D

Bueno... matar un proceso "X" es muy simple... le he dado mil vueltas a los conocimientos que tengo y me salen, o en 1 linea o haciendo uso del concatenador de instrucción (&&) (una linea xDDD)

A ver si entendí: necesitamos el process id del netcat (invocado por root desde /www/var/imagenes/nc) para después darle muerte, para esto hay una infinidad de comandos con una infinidad de combinaciones; desde utilizar una triste variable en el script... complicando aún mas el adivinar cual es la respuesta... hasta utilizar pipes (que es por lo que mas me inclino), hasta ahora se me ocurre utilizar "xargs" para concatenar la salida del comando que me dice cual es mi pid...

Ahora, yo en la práctica siempre había utilizado este (se que no es... ya lo probé) kill -9 ´ps -ef | grep <llamada_a_comando> | awk '{print $2}'´ y bueno... en realidad sustituí el camino corto por ese (para no dar posibles pistas concretas) ya que si esa fuera la solución... o.O!!!

Aunquesea una pista... una idea de como invocar a los comandos o algo, ya que siento que hay muchas formas de hacerlo

:D

Publicado por: RuBiCK el 11/06/2008 15:30

Yo estoy en las mismas... creo que es bastante ambiguo ya que se pueden usar varios comandos con muchas variantes pipes etc.... de hecho, yo nunca uso dos comandos separados para matar procesos.

ps con pipes, awk, xargs, killall...

No entiendo lo de los dos comandos....

Tan solo pedimos orientacion snif snif :)

Publicado por: Sky el 11/06/2008 16:26

Bueno no doy respuestas concretas a sus preguntas, unicamente escribire que yo tuve dudas similares a la hora de realizarlo, y aparte que no hay que complicarse mucho la existencia, el autor, aclara esto.

"mas CORTA(menos caracteres) y FÁCIL. "

por facil debemos sobreentender simple a mi juicio.

Suerte.

Publicado por: RuBiCK el 12/06/2008 09:54

CITA(Sky @ 11/06/2008 17:26) *
por facil debemos sobreentender simple a mi juicio

Y a mi juicio, la manera más corta de matar un proceso es ejecutar una linea, no dos :)
Si fuera una única linea, ya podríamos buscar la manera más facil, pero creo que matar un proceso en dos lineas.... no es la manera más simple.

Estos problemas son dialecticos, no retos en sí :)

Publicado por: Sky el 12/06/2008 21:11

ya pero no es la forma mas corta de matar un proceso sino la forma mas corta de hacerlo de la forma que el te pide.
asique lee y piensalo.
pd.: y tienes razon es un problema dialectico, pero no del autor sino tuyo..

Publicado por: Nikolodeon el 09/07/2008 04:14

Bueno... desde hacia tiempo que no jugaba al wargame (falta de tiempo y exceso de trabajo xP)...

Con este reto me puse a pensar... bueno, que tan "facil" puede ser? si pienso en 2 lineas, quiere decir que a cierto comando "asesino" debo pasarle el resultado del primero, y lo más fácil es con un pipe (ya que si pienso en que lo asigno a otra variable y hago malavares... pues no es fácil).

EDIT...

Ya lei bien el reto, ya se por donde buscarle... cuando tenga tiempo lo resolveré (asi sea lo último que mate heavy.gif )

Publicado por: IsraelSKA el 12/07/2008 23:08

No veo ese reto.. :S

No lo encuentro como Kill Bill ni 166..
Me estaré volviendo loco? :S

Publicado por: g30rg3_x el 13/07/2008 01:13

CITA(IsraelSKA @ 12/07/2008 17:08) *
No veo ese reto.. :S

No lo encuentro como Kill Bill ni 166..
Me estaré volviendo loco? :S


Para poder participar en el reto 166 "Kill Bill" se necesita previamente haber pasado el 165 "Time Machine" y según http://www.yashira.org/index.php?mode=Retos&user=17394 aun no lo haces.
Se te recuerda que en la http://www.yashira.org/index.php?mode=EstRetos, puedes ver todos los datos sobre los retos, datos como que reto tienes que haber pasado previamente asi como caunto pntaje tomas por pasar el reto.

Saludos

Publicado por: NoWaDayS el 27/07/2009 19:00

he estado pensando y creo que a los anteriores posteadores no les falta razón: contrastando formas de hacerlo, llegué a la conclusión de que la forma más corta de hacerlo en dos líneas sería la siguiente:

x=`pidof nc`
kill $x

19 carácteres... evidentemente ... NO ES la solución correcta, otra cosa sería que la primera línea que se pide en el reto sea en plan trampa y no sea más que la línea con la que empiezan todos los shell script...

por favor, alguna orientación...

Publicado por: daemon el 28/07/2009 00:18

Yo voy igual, estuve con esto hace dos semanas y me quemé bastante al final probando distintas posibilidades. Lo de:

CITA
"no sea más que la línea con la que empiezan todos los shell script"
no lo habia pensado, no se si irá por ahi. El reto habla de dos lineas no tienen porque ser dos comandos como se da por hecho en los posts anteriores y además tiene parámetros, es lo que me termina de perder a mi.
Aceptamos sugerencias! XD

Publicado por: NoWaDayS el 28/07/2009 23:53

me da que no va a ir por ahí la cosa por que en ese caso (en el que la primera línea de script no sea un comando) se debieran de especificar más datos como por ejemplo si el script es ksh o csh o el tipo de shell que queremos obtener.

de todas formas, he comprobado y estoy seguro al 95% de que la forma más simple y corta de hacerlo en 2 líneas es la que mencioné anteriormente (la siguiente que menos carácteres tiene son 23).

De momento voy a dejar de lado el reto hasta que alguien postee algún dato nuevo.

Saludos

Publicado por: HenryByt3s el 07/09/2010 04:47

Si se pusiera #!bin/sh al inicio del archivo se podria eliminar en una sola linea con kill (obtener pid) pero "PD1: Utiliza los parámetros en orden alfabético" me lleva a pensar que utiliza otro comando T_T alguna idea...?

PD:Que alguien me confirme si comienza con #!bin/sh o no T_T

Publicado por: Luis_1984 el 03/04/2014 18:06

ph34r.gif como siempre por aca preguntando, voy a resucitar el foro a como lo he hecho con los demas blink.gif tengo la respuesta: #!/bin/bash;kill -9 $(pidof /var/www/imagenes/nc) estoy 99% seguro que es esa o esta otra #!bin/sh;kill -9 $(pidof nc) que es mas corta, ya la probe en opensuse y debian pero no me da aca, me gustaria que me orientaran un poco mas

Publicado por: g30rg3_x el 04/04/2014 02:52

Buenas,

CITA(Luis_1984 @ 03/04/2014 12:06) *
ph34r.gif como siempre por aca preguntando, voy a resucitar el foro a como lo he hecho con los demas blink.gif tengo la respuesta: #!/bin/bash;kill -9 $(pidof /var/www/imagenes/nc) estoy 99% seguro que es esa o esta otra #!bin/sh;kill -9 $(pidof nc) que es mas corta, ya la probe en opensuse y debian pero no me da aca, me gustaria que me orientaran un poco mas


Existe una mas corta.

Saludos

Publicado por: Luis_1984 el 05/04/2014 18:50

heavy.gif heavy.gif Pasado