# Configurar la aplicación del ejecutor autoalojado como un servicio

Puedes configurar la aplicación del ejecutor autoalojado como un servicio para iniciar automáticamente la aplicación del ejecutor cuando se inicia la máquina.

<div class="ghd-tool linux">

> \[!NOTE]
> Debe agregar un ejecutor a GitHub para poder configurar la aplicación de ejecutor autohospedado como servicio.
> Para más información, consulta [Agrega ejecutores auto-hospedados](/es/actions/how-tos/manage-runners/self-hosted-runners/add-runners).

En los sistemas Linux que usan `systemd`, puedes emplear el script `svc.sh` que se crea después de agregar con éxito el runner para instalar y gestionar la aplicación como un servicio.

En la máquina del ejecutor, abra un shell en el directorio donde instaló la aplicación del ejecutor autohospedado. Use los siguientes comandos para instalar y administrar el servicio de ejecutor autohospedado.

</div>

<div class="ghd-tool windows">

> \[!NOTE]
> La configuración de la aplicación de ejecutor auto-hospedado como un servicio en Windows forma parte del proceso de configuración de la aplicación. Si ya ha configurado la aplicación del ejecutor autohospedado, pero no ha elegido configurarla como servicio, debe quitar el ejecutor de GitHub y volver a configurar la aplicación. Cuando vuelvas a configurar la aplicación, elige la opción para configurar la aplicación como un servicio.
>
> Para más información, consulta [Eliminar ejecutores autoalojados](/es/actions/how-tos/manage-runners/self-hosted-runners/remove-runners) y [Agrega ejecutores auto-hospedados](/es/actions/how-tos/manage-runners/self-hosted-runners/add-runners).

Puede administrar el servicio de ejecutor en la aplicación Windows **Services**, o bien puede usar PowerShell para ejecutar los comandos siguientes.

</div>

<div class="ghd-tool mac">

> \[!NOTE]
> Debe agregar un ejecutor a GitHub para poder configurar la aplicación de ejecutor autohospedado como servicio.
> Para más información, consulta [Agrega ejecutores auto-hospedados](/es/actions/how-tos/manage-runners/self-hosted-runners/add-runners).

En la máquina del ejecutor, abra un shell en el directorio donde instaló la aplicación del ejecutor autohospedado. Use los siguientes comandos para instalar y administrar el servicio de ejecutor autohospedado.

</div>

<div class="ghd-tool linux">

## Instalar el servicio

1. Detenga la aplicación del ejecutor autohospedado si se está ejecutando actualmente.

2. Instalar el servicio con el siguiente comando:

   ```shell
   sudo ./svc.sh install
   ```

3. De forma alternativa, el comando toma un argumento opcional `user` para instalar el servicio como un usuario diferente.

   ```shell
   ./svc.sh install USERNAME
   ```

</div>

<div class="ghd-tool mac">

## Instalar el servicio

1. Detenga la aplicación del ejecutor autohospedado si se está ejecutando actualmente.
2. Instalar el servicio con el siguiente comando:

   ```shell
   ./svc.sh install
   ```

</div>

## Iniciar el servicio

Inicia el servicio con el siguiente comando:

<div class="ghd-tool linux">

```shell
sudo ./svc.sh start
```

> \[!NOTE]
> En sistemas Linux basados en Debian (como Debian o Ubuntu) con `needrestart` habilitado, puedes impedir que `needrestart` reinicie el servicio de ejecutor durante un trabajo de flujo de trabajo configurándolo para omitir el servicio de ejecutor. Ejecute el siguiente comando:
>
> ```bash
> echo '$nrconf{override_rc}{qr(^actions\.runner\..+\.service$)} = 0;' | sudo tee /etc/needrestart/conf.d/actions_runner_services.conf
> ```

</div>

<div class="ghd-tool windows">

```shell
Start-Service "actions.runner.*"
```

</div>

<div class="ghd-tool mac">

```shell
./svc.sh start
```

</div>

## Comprobar el estado del servicio

Verifica el estado del servicio con el siguiente comando:

<div class="ghd-tool linux">

```shell
sudo ./svc.sh status
```

</div>

<div class="ghd-tool windows">

```shell
Get-Service "actions.runner.*"
```

</div>

<div class="ghd-tool mac">

```shell
./svc.sh status
```

</div>

Para obtener más información sobre cómo ver el estado del ejecutor autohospedado, consulte [Supervisión y solución de problemas de ejecutores autohospedados](/es/actions/how-tos/manage-runners/self-hosted-runners/monitor-and-troubleshoot).

## Detener el servicio

Detiene el servicio con el siguiente comando:

<div class="ghd-tool linux">

```shell
sudo ./svc.sh stop
```

</div>

<div class="ghd-tool windows">

```shell
Stop-Service "actions.runner.*"
```

</div>

<div class="ghd-tool mac">

```shell
./svc.sh stop
```

</div>

## Desinstalar el servicio

1. Detiene el servicio si se está ejecutando actualmente.
2. Desinstala el servicio con el siguiente comando:

    <div class="ghd-tool linux">

   ```shell
   sudo ./svc.sh uninstall
   ```

    </div>

    <div class="ghd-tool windows">

   ```shell
   Remove-Service "actions.runner.*"
   ```

    </div>

    <div class="ghd-tool mac">

   ```shell
   ./svc.sh uninstall
   ```

    </div>

<div class="ghd-tool linux">

## Personalizar el servicio del ejecutor auto-hospedado

Si no quiere usar la configuración predeterminada del servicio `systemd` anterior, puede crear un servicio personalizado o utilizar el mecanismo de servicio que prefiera. Considere la posibilidad de usar la plantilla `serviced` en `actions-runner/bin/actions.runner.service.template` como referencia. Si usa un servicio personalizado, el servicio del ejecutor autohospedado siempre se debe invocar mediante el punto de entrada `runsvc.sh`.

</div>

<div class="ghd-tool mac">

## Personalizar el servicio del ejecutor auto-hospedado

Si no quieres utilizar la configuración predeterminada del servicio launchd antes mencionada, puedes crear un servicio personalizado o cualquier mecanismo de servicio que prefieras. Considere la posibilidad de usar la plantilla `plist` en `actions-runner/bin/actions.runner.plist.template` como referencia. Si usa un servicio personalizado, el servicio del ejecutor autohospedado siempre se debe invocar mediante el punto de entrada `runsvc.sh`.

</div>