Cómo instalar un programa como un servicio que se inicia al arranque automático?

StackOverflow https://stackoverflow.com/questions/2146204

  •  23-09-2019
  •  | 
  •  

Pregunta

necesito un script PHP para funcionar como un servicio de Windows.

¿Hay una manera fácil de hacer esto?

¿Fue útil?

Solución

Debe utilizar sc.exe. Visita http://support.microsoft.com/kb/251192 para los detalles.  Entonces sólo tiene que utilizar yourscriptname php.exe como una línea de comandos para ejecutar el servicio a

Otros consejos

Si no le importa ensuciarse las manos con un poco de CSharp, aquí está una URL con una aplicación de shell que es un servicio de Windows. Se establece un temporizador que se ejecuta un archivo por lotes (es decir, la secuencia de comandos) cada tantos segundos. sólo funcionaría si su script hace una tarea luego se cierra. (Marcado como wiki de la comunidad ya que este no es mi código. Estoy copiar todo el código de aquí en caso de que el sitio enlazado se agota en el futuro.)

http: //www.akchauhan. com / Create-windows-servicio-a-agenda-php-script-ejecución /

Aquí está el código mencionado en el artículo enlazado.

C # para el servicio:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;

namespace MyNewService
{
    public partial class MyNewService : ServiceBase
    {
        private Timer syncTimer = null;  

        public MyNewService()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            syncTimer = new Timer();
            this.syncTimer.Interval = 180000;
            this.syncTimer.Elapsed += new System.Timers.ElapsedEventHandler(this.syncTimer_Tick);
            syncTimer.Enabled = true;
        }

        protected override void OnStop()
        {
            syncTimer.Enabled = false;
        }

        private void syncTimer_Tick(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(@"C:\xampp\htdocs\task.bat");
        }  
    }
}

El archivo por lotes requisito:

@echo off  
cd\  
set path=C:\xampp\php;  
cd "C:\xampp\htdocs"  
php import.php  
exit  

Esta es posiblemente una pregunta para https://superuser.com/ o https://serverfault.com/

Esto podría ofrecer algo de ayuda sobre el servicio http://support.microsoft.com/kb/251192

Ha sido un tiempo desde que he trabajado con ventanas, pero que podría ser capaz de configurar un archivo por lotes para ejecutarse como un servicio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top