Buscar en moleculax

Este blog es un ensayo digital donde el pensamiento estructurado se encuentra con la introspección profunda. Explora la arquitectura del conocimiento: desde lo técnico hasta los fundamentos éticos. Aquí, cada algoritmo tiene propósito, cada línea de código refleja intención, y cada reflexión filosófica busca optimizar no solo sistemas, sino también decisiones humanas. Este blog no solo enseña a pensar, enseña a discernir, a construir con sentido. Porque el verdadero desarrollo nace de la conciencia, y eso exige precisión, virtud y coraje.

Tenemos que aprender a contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles ya que el verdadero progreso no se mide por la velocidad con la que avanzamos, sino por la dirección que elegimos. En un mundo cada vez más interconectado, el desarrollo de la humanidad exige más que tecnología y conocimiento: requiere conciencia, empatía y propósito.

Debemos cultivar una inteligencia que no solo resuelva problemas, sino que los prevenga con sabiduría. Una ciencia que no solo descubra, sino que se pregunte por qué y para quién. Una economía que no solo crezca, sino que reparta con justicia. Y una cultura que no solo celebre lo diverso, sino que lo abrace como fuerza vital.

Cada decisión que tomamos, cada palabra que decimos, cada idea que compartimos, puede ser una semilla de transformación. El futuro no está escrito: lo estamos escribiendo juntos, ahora mismo.

Que el desarrollo humano sea integral, sostenible y profundamente humano. Porque solo cuando elevamos a todos, nos elevamos como especie.

Sabiduría Justicia Templanza Coraje
Como crear un demonio (Servicios)

¿Que demonios existen en nuestro sistema?

Para conocer los demonios que tenemos en nuestro sistema debemos ejecutar el siguiente comando desde una terminal:
ls -l /etc/init.d/
Esto nos va a listar una serie de archivos que son scripts los cuales son los demonios. Esto scripts contienen el código para iniciar o para nuestro demonio, pero no necesariamente el programa que se ejecuta debe estar en esta carpeta, puede estar en cualquier parte del sistema.
Veamos un ejemplo de lo que nos puede mostrar por la consola de la terminal:
-rwxr-xr-x 1 root root 1175 2010-11-22 08:04 binfmt-support
-rwxr-xr-x 1 root root 1784 2011-04-04 22:35 bluetooth
-rwxr-xr-x 1 root root 2341 2009-09-07 15:58 bootlogd

¿Como iniciar y detener los demonios?

Para poder iniciar un demonio ya existente en nuestro sistema operativo debemos ejecutar el siguiente comando:
/etc/init.d/demonio start
Si en cambio lo queremos detener deberemos ejecutar:
/etc/init.d/demonio stop
Veamos como podemos usar estos comando para por ejemplo iniciar el demonio de impresión
/etc/init.d/cups start
/etc/init.d/cups stop

¿Como crear mi propio demonio?

Antes que nada en este post mostraremos como crear un demonio por medio de un script, para ello lo primero que haremos es abrir el editor que mas nos guste (vi, nano, gedit) y copiaremos el siguiente template para la creación del demonio.

# Script template para demonios
#!/bin/sh

programa=/home/usuario/programa/ #HOME del programa a ejecutar
startup=$programa/bin/startup.sh #código para iniciar el programa
shutdown=$programa/bin/shutdown.sh #código para parar el programa

start(){
echo -n $"Starting service: "
$startup
RETVAL=$?
echo
}

stop(){
echo -n $"Stopping service: "
$shutdown
RETVAL=$?
echo
}

restart(){
stop
sleep 10
start
}

# Dependiento del parametro que se le pase
#start - stop - restart ejecuta la función correspondiente.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usar: $0 {start|stop|restart}"
exit 1
esac

exit 0
 
El template anterior es tan solo un simple ejemplo, pero se le pueden agregar mas cosas y hacerlo mas complejo como por ejemplo: que guarde un log de las tareas que se están haciendo, que guarde el PID del proceso y lo mate con este o agregar un parámetro status para chequear si el demonio se encuentra levantado entre otras cosas.

¿Como hacer que se inicie automáticamente?

Para que un demonio se inicie o se detenga automáticamente cuando iniciamos y apagamos el sistema respectivamente debemos asignar los runlevels.

¿Que son los runlevels?

El término runlevel o nivel de ejecución se refiere al modo de operación en los sistemas operativos que implementan el estilo de sistema de arranque de iniciación tipo UNIX System V.
Veamos otra definicion, según la Wikipedia: “En términos prácticos, cuando el computador entra al runlevel 0, está apagado, y cuando entra al runlevel 6, se reinicia. Los runlevels intermedios (1 a 5) difieren en relación a qué unidades de disco se montan, y qué servicios de red son iniciados. Los niveles más bajos se utilizan para el mantenimiento o la recuperación de emergencia, ya que por lo general no ofrecen ningún servicio de red. Los detalles particulares de configuración del runlevel varía bastante entre sistemas operativos, y ligeramente entre los administradores de sistema.”

Los 7 niveles de ejecución(runlevels) estandar

Nivel de ejecución Nombre  Descripción 
0 Alto Alto o cierre del sistema (Apagado)
1  Modo de usuario único (Monousuario) No configura la interfaz de red o los demonios de inicio, ni permite que ingresen otro usuarios que no sean el usuario root, sin contraseña. Este nivel de ejecución permite reparar problemas, o hacer pruebas en el sistema.
2  Multiusuario Multiusuario sin soporte de red.
3  Multiusuario con soporte de red. Inicia el sistema normalmente.
4  – No usado.
5 Multiusuario gráfico (X11) Similar al nivel de ejecución 3 + display manager.
6  Reinicio  Se reinicia el sistema.

 ¿Como asigno un runlevels?

Antes que nada debemos copiar nuestro script(miScript) a /etc/init.d/ que es donde están los scripts de los demonios:

sudo cp miScript /etc/init.d/
 
Luego darles los permisos necesarios para el owner, group y ejecución:

sudo chmod ug+x /etc/init.d/miScript
 
Para asignar los runlevels tenemos dos formas:
  • Manualmente
Para poder asignarle los runlevels manualmente lo que se hace es crear enlaces simbólicos de nuestro script en los directorios de los runlevels para los demonios. Estos directorios estan en /etc/rcX.d/ donde la X es un número que corresponde al runlevel por ejemplo /etc/rc3.d/. Algo que vale la pena aclarar es que habría que crear enlaces simbólicos para todos los runlevels.
Si hacemos un ls -l en cualquier de estos directorios vamos a obtener algo así:
 
$ ls -l /etc/rc6.d/

total 4
lrwxrwxrwx 1 root root 18 2011-08-19 18:14 K01nxsensor -> ../init.d/nxsensor
lrwxrwxrwx 1 root root 18 2011-08-19 18:14 K01nxserver -> ../init.d/nxserver
lrwxrwxrwx 1 root root 18 2011-11-08 12:56 K01timidity -> ../init.d/timidity
lrwxrwxrwx 1 root root 17 2011-07-13 11:09 K09apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2011-07-11 12:44 K20hddtemp -> ../init.d/hddtemp
lrwxrwxrwx 1 root root 20 2012-02-17 18:44 K20nullmailer -> ../init.d/nullmailer
lrwxrwxrwx 1 root root 27 2011-07-11 12:44 K20speech-dispatcher -> ../init.d/speech-dispatcher
lrwxrwxrwx 1 root root 29 2011-07-11 12:44 S10unattended-upgrades -> ../init.d/unattended-upgrades
lrwxrwxrwx 1 root root 18 2011-07-11 12:44 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root 17 2011-07-11 12:44 S30urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root 22 2011-07-11 12:44 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root 20 2011-07-11 12:44 S35networking -> ../init.d/networking
 
 
Como se puede ver son todos enlaces simbólicos de scripts pero renombrados con la siguiente nomenclatura:

S[prioridad][nombre script]
K[prioridad][nombre script]
 
Donde la S significa el start de demonio, K el kill y  la prioridad es un numero de 00 a 99 para decir en que orden se van a ejecutar(puede haber demonios con la misma prioridad).
Ahora para crear los enlaces simbólicos debemos hacerlo en los runlevels adecuados. Para iniciar en el runlevel 5 (multiusuario gráfico) y 3 (multiusuario) y para pararlo en el runlevel 6 (reinicio) y 0 (apagado). Lo hacemos con el comando ln de la siguiente manera:

$ ln -s /etc/init.d/miscript /etc/rc5.d/S30miScript
$ ln -s /etc/init.d/miscript /etc/rc3.d/S30miScript
$ ln -s /etc/init.d/miscript /etc/rc6.d/K05miScript
$ ln -s /etc/init.d/miscript /etc/rc0.d/K05miScript
 
Con esto alcanzaría para para levantar de modo automático el demonio.
  • Automáticamente
Con el siguiente comando nos ahorramos todo lo de la primera parte con la diferencia de que las prioridades se asignan automáticamente:
sudo update-rc.d jboss defaults
Si vemos en la ayuda del update-rc.d vemos que tenemos también la posibilidad de especificarle la prioridad.
Con esto ya tenemos nuestro demonio y si queremos lo podemos iniciar con start.

.

15dias (4) agenda 2023 (1) Algo que leer (269) Android (2) Angular (2) Apache (6) API (1) Arte y Cultura (11) Artes Marciales (10) Astro (1) Banner (1) Base de datos (38) Batalla Cultural (5) Big Data (12) Budismo (4) cabala judia (2) Calculo Asistido por computadoras (2) Canaima (6) Caos (1) Ceo (1) ciencias (3) Cine (1) Cobol (12) Cobra Kai (1) Codigo Linux Documental (2) Computación (4) Computación forense (14) Configurando Samba (1) Conocimiento (1) Consola (8) contenedores (10) cosmo (2) Criptomonedas (3) Cultura (1) Cursos (16) Darkweeb (3) Data Mining (1) Debian (18) Deep Learning (2) DeepWeb (7) demografia (9) Deporte y Recreación (9) Deportes (10) desclasificados (8) Desktop (1) developers (1) DevOps (1) Docker (12) Document (1) Ecología (6) Editor (3) Editores (4) Educacion y TIC (31) Electronica (2) Empleos (1) Emprendimiento (7) Espiritualidad (2) estoicismo (4) Eventos (2) Excel (1) Express (1) fedora (1) Filosofía (25) Fisica (1) Flisol 2008 (3) Flisol 2010 (1) Flisol 2015 (1) Flutter (1) framework (3) Funny (1) Geografía (1) Gerencia y Liderazgo (72) Gestor de Volúmenes Lógicos (1) Git (7) GitHub (8) Globalizacion (5) gnu (28) Go (1) gobiernos (2) golang (2) Google por dentro (1) GraphQL (2) gRPC (1) Hackers - Documental (8) Hacking (31) Historia (3) howto (189) html (1) IA (22) IntelliJIDEA (1) Internet (6) Introducción a los patrones (2) J SON (1) java (58) java eclipse (4) javaScript (9) JDK (1) jiujitsu (4) Json (1) Junit (1) kali (39) kernel (2) Kotlin (1) Laravel (2) Latin (1) lecturas (2) LIbreOffice (1) Libros (4) Linux (49) Linux VirtualBox (1) Literatura (1) Machine Learning (2) Manuales (42) mariaDB (2) Markdown (4) Marketing (1) Matando ladilla (9) Matematicas (3) Matematricas (1) Math (1) maven (1) metodos https (1) MkUltra (1) Modelos (1) MongoDB (17) Multimedia (1) Musica (1) mvc (2) Mysql (22) MySQL Workbench (1) Nagios (2) Naturismo (1) NextJS (2) node (5) Node.js (6) NodeJS (10) NoSQL (1) npm (1) Oracle (11) Oracle sql (10) Php (4) PL/SQL (2) Plsql (1) PNL (1) Poblacion (2) Podman (1) Poesia (1) Politica (5) Política (1) Postgresql (14) PowerShell (1) programacion (88) Psicologia (11) Python (7) React (4) Recomiendo (1) Redes (31) Redis (2) Religion (2) REST (2) Rock (1) Rock/Metal Mp3 (2) RUP (1) Salud (5) sc:snap:android-studio (1) sc:snap:datagrip (1) sc:snap:gitkraken linux (1) Seguridad (18) Seguridad con Gnu Privacy (2) Seo (1) simulaEntrevistas (10) simularExamen (10) Sistemas Operativos (69) SOAP (1) Sociedad (5) Software Libre (169) Soporte Tecnico (12) Sphinx (1) spring (1) spring boot (12) SQL (4) SQL en postgreSQL (44) Taekwondo (11) Tecnologia (5) Tecnología (27) Templarios (5) Tendencias (1) Tensorflow (4) Thymeleaf (1) Tomcat (2) Tor (9) Trialectica (3) TYPEACRIPT (1) Ubuntu (5) unix (2) Vida activa (1) Videos (11) Videos Educativos (10) Vim (1) Viral (3) Visual Studio (1) wallpaper (2) web (1) Wifi (2) Windows (3) WWW (2) Xrandr (1) Zero Trust (2)

Sabiduria Justicia Templanza Coraje.

Hay que contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles.


Powered by

Moleculax es un blog de ciencia, biología, astronomía, tecnología y reflexiones sobre el futuro de la humanidad. Explora ideas innovadoras, descubrimientos científicos y conocimientos que inspiran la curiosidad y la imaginación. ¿Cómo saber si te han bloqueado en WhatsApp?, ¿COMO PROGRAMAR?, דודו פארוק, ¿QUES ES estructurada,modular, MongoDBSpain CheetSheet, ORIENTADA A OBJETOS?, Bases de datos estáticas, base de datos dinamicas bases de datos nosql, estructuras de base de datos, Bases de datos de texto completo, base de datos gerarquicas HTML, CSS, XML, JavaScript, mysql, oracle, postgresql, C, C#, php, java, python, liderazgo, libros, books, informix, ¿COMO REPARAR PAQUETES ROTOS EN DEBIAN?, REPARAR paquetes ROTOS ubuntu gerencia, COMO APRENDER laravel, ACTIVAR wifi en CANAIMA, exotics, exoticas, COMO APRENDER MONGODB, agapornio, agapomis, seguros, ganar dinero, bitcoin, freeBitcoin invertir en bolsa, marketing online, ofertas de coches Описание Блога Moleculax Moleculax — это цифровое эссе, в котором структурированное мышление встречается с глубокой интроспекцией. Наш блог исследует архитектуру знаний: от технических тонкостей разработки программного обеспечения до этических основ и философии. Ключевые Темы: Разработка и Технологии: Программирование, базы данных (SQL, NoSQL), Big Data, Node.js, Java. Наука и Мышление: Астрономия, биология, научные открытия, а также такие философские направления, как Стоицизм. Этика и Будущее: Размышления о развитии человечества, моральные принципы в технологиях и этические вызовы. Наша миссия: Развивать интеллект, который не только решает проблемы, но и предотвращает их с мудростью. Moleculax 是一个关于科学、生物学、天文学、技术以及人类未来思考的博客。它探索创新的理念、科学发现和能够激发好奇心与想象力的知识。 如何知道你在 WhatsApp 上被拉黑?如何编程? דודו פארוק,什么是结构化、模块化、面向对象?MongoDBSpain 速查表,静态数据库、动态数据库、NoSQL 数据库、数据库结构、全文数据库、层次型数据库。 HTML、CSS、XML、JavaScript、MySQL、Oracle、PostgreSQL、C、C#、PHP、Java、Python,领导力、书籍、Informix。如何修复 Debian 中损坏的软件包?修复 Ubuntu 损坏的软件包,管理,如何学习 Laravel,如何在 Canaima 激活 WiFi,异域、奇异,如何学习 MongoDB,爱情鸟、保险、赚钱、比特币、FreeBitcoin、投资股票市场、网络营销、汽车优惠。 Moleculax 博客描述: Moleculax 是一篇数字随笔,在这里结构化的思维与深刻的自省相遇。我们的博客探索知识的架构:从软件开发的技术细节到伦理基础与哲学。 核心主题: - 开发与技术:编程、数据库(SQL、NoSQL)、大数据、Node.js、Java。 - 科学与思维:天文学、生物学、科学发现,以及诸如斯多葛主义等哲学流派。 - 伦理与未来:关于人类发展的思考、技术中的道德原则与伦理挑战。 我们的使命:培养一种不仅能解决问题,而且能以智慧预防问题的智能。