Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

stderr being printed out for Rex::Service instead of captured for $running_upstart

Abierto
#1,612 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
perl
Área
devops

Línea de trabajo

Comienza en Rex::Commands::Service->service y Rex::Service->get, y luego inspecciona las comprobaciones de OS para initctl y systemctl descritas en el issue. Reproduce el problema con el comando de servicio de Perl proporcionado en FreeBSD y verifica que la búsqueda del servicio ya no muestre la salida de stderr de initctl, aunque siga informando del resultado del servicio.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug
Describe the bug

sh: initctl: not found gets printed out any time Rex::Service->get is called.

Expected behavior

Redirects stderr to stdout to avoid

How to reproduce it

perl -e 'use Rex::Commands::Service; service snmpd=>"start";'
sh: initctl: not found
sh: initctl: not found
[2024-01-22 22:37:29] INFO - Service snmpd started.

Code example
use Rex::Commands::Service;
service snmpd=>"start";
Additional context

So looks like Rex::Commands::Service->service calls Rex::Service->get to get the object to use for it. When this happen a bit of code is ran to test for OS and if initctl and systemctl are usable.

I am lost as to why the systemctl check does not also do it.

Likely the best option here is to add which initctl > /dev/null && before it and likely do the same with systemctl as well.

[root@nibbles0]1|/src/ports/head>which initctl > /dev/null && echo test
[root@nibbles0]1|/src/ports/head>which ls > /dev/null && echo test     
test
[root@nibbles0]0|/src/ports/head>

Double check to make sure this issue is not caused by how it is being packaged and when reinstalled via cpanm --reinstall Rex the same thing happens.

Rex version

1.14.3

Perl version

v5.36.3

Operating system running rex

FreeBSD nibbles0.vulpes.vvelox.net 13.2-RELEASE-p4 FreeBSD 13.2-RELEASE-p4 GENERIC amd64

Operating system managed by rex

FreeBSD and Linux

How rex was installed?

package manager

Lenguaje dominante
Perl
Estrellas
736
Forks
217
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de RexOps/Rex

Todos los issues de RexOps/Rex

Issues similares

Más issues de Perl

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.