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.