BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Debian y los runlevels

BocaDePez
BocaDePez

si hago un :

init 4

para parar un programa que tengo en respawn en los niveles 2 y 3 ...

Debian:~# runlevel
4 2

y el proceso sigue en respawn partiendose la caja de mi... que pasa ? que cachondeo es este de los runlevels ? :P :P: P

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
AMSTRAD

te estan vacilando fijo xD yo q tu los amenazaba con el ventanucos equispe a ver si se acojonan xDDD

asqwerty

Hasta donde yo se si haces un init 4, lo que pasa es que se ejecuta ese init pero no se cierra el que ya tienes lanzado. intenta editar el inittab y poner el 4 como default a ver que pasa.

🗨️ 2
Pridebowl

Sacto, un default y como hace poco descubrio un compi un init q, for example. :D

Otra forma no la conozco, pero seguramente la haya.

Consejo: No intenteis modificaciones linuxeras en inttab unixeros propietarios porque vais a saber lo que es flipar. Pa unix lo que es de unix y pa linux lo que es de linux. xDD

Un saludo
Sugarhill gang->"Apache"

🗨️ 1
anthrax

Yo he modificado el inittab en alguna ocasión y aún estoy vivito y coleando, xikitins :D

Saludos 8)

overpeer

juas ... pues ahora que lo dices ... me intriga, a ver quien sabe la respuesta xD

He probado a poner algo en respawn en el inittab en runlvel 2 y vuelve a parecer estando en runlevel 3

JoeDalton

si quieres pararlo y es un script añade un enlace que haga un kill, al estilo del runlevel 6.

🗨️ 4
anthrax

Premio para el forajido! :D

Saludos 8)
P.D: Overpeer, ya te "fale". Que lo sepa él antes que tú. Si no me equivoco usa principalmente Windows :P

🗨️ 3
JoeDalton

xDDDDD

evidentemente yo no uso mucho linux, con debian algo me he pegado, pero a cabezón pocos me ganan... el caso es que estoy tratando de pillarle el gustillo otra vez...

P.D. El caso es que yo he explicao la teoría, la parte de comandos ya me tengo que buscar un poco la vida.

P.D.2. De todas formas aquí hay muuuucho nivel yo sólo soy un microbio más que sabe hacer 4 cosas.

🗨️ 1
anthrax

A fuerza de leer y probarlo aprendemos las cosas. Nadie nace enseñado en temas de GNU/Linux 8)

Es sólo cuestión de ponerse un poco cabezón, como bien dices :)

Yo ya llevo unos cuantos años en plan cabezón xD

Saludos 8)

overpeer

Es la marranada esta de Debian que me esta pudriendo la mente!!

/etc/init.d/iptables YA !! xD

Un saludo.

anthrax

Supongamos que el proceso se llama "decachondeo" :P

Creamos el fichero /etc/init.d/ahoravasylacascas de contenido:

#!/bin/bash
/usr/bin/killall -9 decachondeo

Le damos permisos 755 al fichero de marras

chmod 755 /etc/init.d/ahoravasylacascas

Después creamos un enlace simbólico en el directorio /etc/rc4.d y que apunta al fichero que acabamos de crear:

ln -s /etc/init.d/ahoravasylacascas /etc/rc4.d/K10ahoravasylacascas

La próxima vez que se arranque en nivel 2 ó 3 y después se pasa al nivel 4, se matará el proceso le guste o no :P

NOTAS:
- Los nombre del proceso y fichero son a gusto del consumidor :P
- Comprueba que el camino físico del comando killall sea /usr/bin/killall (puedes usar el comando which para averiguarlo)
- Aconsejo documentarse sobre los niveles de ejecución de SysV y de paso de BSD. Nunca está de más la culturilla general :)
- La gente de Gento no arranca ni en el modo SysV, ni en el BSD. Son así de chulos 8)

Editado.
Se me olvidada, en todas las distribuciones que conozco existe algún comando que sirve para configurar que arranca y que no en cada nivel de ejecución. En el caso de sistemas "Debian based" se trata del comando update-rc.d

Editado (2)
He estado haciendo pruebas y me he dado cuenta que estaba equivocado :P. He modificado mi post conforme a mis averiguaciones.

De nada sirve los enlace simbólicos en /etc/rc[2-3].d, si acaso deberían estar en /etc/rc4.d. De todas maneras el init envía una señal SIGTERM (en teoría después envía una SIGKILL que yo no veo por ningún lado :o) a todos los procesos que no tengan enlace en /etc/rc4.d/, antes de ejecutar los enlaces simbólicos del directorio /etc/rc4.d

Saludos 8)

🗨️ 2
JoeDalton

De todas formas, en debian, los runlevel del 2 al 5 por defecto venían iguales no?
Según recuerdo en otras distros, el 3 era sin arrancar las X, y por ej el 5 las arrancaba (SUSE me viene a la cabeza o Red-hat de por aquellos entonces).
De todas formas, tengo claro que es a gusto del consumidor, que te configuras lo que quieres dependiendo de los enlaces simbólicos que pongas.

🗨️ 1
anthrax

En Red Hat y Suse el nivel multiusuario en modo texto es el 3. Si se arranca en modo gráfico es el 5.

En cambio en sistemas basados en Debian, tanto el modo texto como el gráfico usan el 2. Diras, ¿ cual es la diferencia ?. Pues que si instalas las X's, en el nivel de ejecución 2 se ejecuta el display manager:

gdm si usas GNOME
kdm si le das a KDE
xdm si usas algún entorno de escritorio alternativo (solo recuerdo el XFCE) o simplemente un gestor de ventanas como por ejemplo fluxbox.

Respecto a los enlaces simbólicos, normalmente también puedes usar algún comando que te haga el "trabajo sucio". Como comento en mi post de más arriba que he editado.

Saludos 8)

BocaDePez
BocaDePez

A ver, no habeis entendido nada x_D

En el inittab, pongo una aplicacion en respawn en los niveles 2 y 3, esto quiere decir que si hago un 'killlall -9 aplicacion' vuelve a lanzarse automaticamente .... ok? :)

Ahora paso a nivel 4, hago un 'killall -9 aplicacion' ... y vuelve a salir x_D . Eso es lo que quiero evitar, que se relance. El objetivo es tener de alguan forma un nivel de mantenimiento donde todas las aplciaciones respawn se puedan parar para que no toque las pelotas. O acaso es imposible? :(

No puedo lanzar las cosas como scripts del rc (a ver ese que me decia que me leyese la documentacion del SysV si me entiende ahora x_D) , porque no solo son aplicaciones que se levantan cno el sistema ... deben permanecer arriba pase lo que pase, y con respawn vuelve a la vida si se muere.

Salu2.

🗨️ 1
anthrax

Ahora me doy cuenta de una cosa. Por la salida del comando runlevel que has puesto en el post que ha abierto el hilo, cuando lo has ejecutado estabas en el runlevel 2, y el anterior runlevel era el 4.

Entonces es normal que el proceso estuviera en aquel momento en respawn, ya que estabas en el runlevel 2!

Si no estoy en lo cierto y esa no es la causa de que no muera el proceso en el "runlevel 4" (lo más normal), pega aquí lo siguiente:

- Configuración del inittab
- Listado de los ficheros de /etc/rc2.d, /etc/rc3.d y /etc/rc4.d

A ver si con esa información vemos donde está el problema :)
Prueba a hacer lo que comentaba en mi post anterior (el de SysV), que lo he modificado.

Editado.
He rehecho totalmente el post :P

Saludos 8)