Crear demonios PHP en Centos


Bueno me gustaria compartir con todos este pequeño manual para la creación de servicios o demonios en Centos con PHP como lenguaje de programacion.

Lo primero que haremos es instalar el programa start-stop-daemon, este programa es quien se encargara de iniciar y detener nuestro script php.

Bueno me gustaria compartir con todos este pequeño manual para la creación de servicios o demonios en Centos con PHP como lenguaje de programacion.

Lo primero que haremos es instalar el programa start-stop-daemon, este programa es quien se encargara de iniciar y detener nuestro script php.

wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-1.tar.gz

tar zxvf apps-sys-utils-start-stop-daemon-IR1_9_18-1.tar.gz

cd apps/sys-utils/start-stop-daemon-IR1_9_18-1/

gcc start-stop-daemon.c -o start-stop-daemon

cp start-stop-daemon /usr/sbin

una vez instalado crearemos en /tmp/ un pequeno programita en php al que llamaremos angel.php

#! /usr/bin/php -q
<?php

while ($x<10) {

sleep(10);
}

?>

Como pueden ver en la primera linea indicamos la ruta del ejecutable del lenguaje de programación que utilizaremos para correr nuestro programita, en este caso PHP.

Luego simplemente el programa entra en un while sin fin, el cual se detiene por 10 segundos con la sentencia sleep.

Dentro del while podrias escuchar un puerto de red, leer una base de datos, monitorear cualquier cosa que desees, lo dejo a tus necesidades.

Luego debes darle permiso de ejecución al script llamado en este caso angel.php

chmod 777 angel.php

ahora vamos a /etc/init.d/ que es donde se encuentran todos los servicios y creamos un archivo al que llamaremos angel, y dentro copiamos el siguiente codigo:

#!/bin/sh
# Starts and stops rpc.mountd
#

#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# ruta donde se encuentra el script a ejecutar, recordar colocar en la cabecera del ejecutable el tipo, para php es #! /usr/bin/php -q, DAEMON_OPTS= es
# para algun parametro que deba recibir el script
# actualizar al nuevo demonio

DAEMON=/tmp/angel.php
DAEMON_OPTS=

# el nombre es muy importante ya que se utilizara en el archivo pid que define el numero de proceso para luego poder detenerlo
# actualizar al nuevo demonio
NAME=angel

DESC=” Demonio de …”

# PIDFILE es la variable que se utiliza para poder detener el demonio
PIDFILE=”/var/run/${NAME}.pid”
QUIET=”–quiet”
START_OPTS=”–start ${QUIET} –background –make-pidfile –pidfile ${PIDFILE} –exec ${DAEMON} ${DAEMON_OPTS}”
STOP_OPTS=”–stop –pidfile ${PIDFILE}”
OWNER=root
LOGDIR=/var/log/${NAME}

case “$1” in
start)

echo -n “Starting $DESC: “
start-stop-daemon $START_OPTS
echo “$NAME.”

;;

stop)

echo -n “Stopping $DESC: “
start-stop-daemon $STOP_OPTS
echo “$NAME.”
rm $PIDFILE

;;

restart)
$0 stop
$0 start
;;

status)

if [ -f $PIDFILE ]; then
echo “Running”
exit 0
fi
echo “Not running”
exit 3
;;
*)
echo “Usage: $0 {start|stop|restart|status}”
exit 1
esac

Para reusar este codigo solo debes tener en cuenta las varibles DAEMON que indica la ruta de tu script y la variable NAME que debe ser el mismo nombre del servicio.

grabamos y le damos permiso de ejecución:

chmod 777 angel

y ya esta

service angel start
service angel status
service angel restart
service angel status
service angel stop
service angel status

Espero sea de su agrado, gracias

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2632 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.