Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Ejecución comando sistema desde Perl

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Jue May 01, 2008 3:09 pm
javipr
Perlero Nuevo
Perlero Nuevo
Registrado: 01 May 2008
Mensajes: 1
Ejecución comando sistema desde Perl Responder citando

Hola a todos, tengo un problema con la ejecución de un comando del sistema desde Perl.

En concreto, quiero ejecutar estas dos sentencias, que se ejecutan correctamente con un intérprete Bash:

SENTENCIA 1
bash:
exec softlimit -m 10000000 \
unixserver /tmp/.vmailmgrd vmailmgrd 2>&1 \
  | setuidgid qmaill multilog t n100 s1000000 /usr/local/qmail/logs/vmailmgrd &


SENTENCIA 2
bash:
exec softlimit -m 20000000 \
envdir /etc/relay-ctrl relay-ctrl-chdir \
tcpserver -v -H -R -l $HOSTNAME -x /etc/tcpcontrol/tcp.smtp.cdb \
-c200 -u5002 -g5000 0 smtp \
rblsmtpd -b -r bl.spamcop.net \
fixcrio relay-ctrl-check qmail-smtpd 2>&1 2>/tmp/salida \
| setuidgid qmaill \
multilog t n100 s1000000 /usr/local/qmail/logs/smtp &


He probado de varias maneras: primero cogí y puse esas órdenes entre `` y no funcionó; luego probé asignando esa cadena a una variable, quitando los "\", así:

Perl:
$EJECUCION="exec softlimit -m 10000000 unixserver /tmp/.vmailmgrd vmailmgrd 2>&1   | setuidgid qmaill multilog t n100 s1000000 /usr/local/qmail/logs/vmailmgrd &"

system($EJECUCION);


Pero tampoco funcionó... no sé si el problema vendrá dado por el caracter "|", que igual tiene un equivalente diferente en Perl...

¿Alguien podría orientarme? ¿Qué hago mal?

Desde ya, muchísimas gracias.
Un saludo,
Javi.
Mensaje Jue May 01, 2008 4:21 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4130
Ubicación: Valladolid, España
Responder citando

Bienvenido a los foros de Perl en Español, javipr.

Usa comillas simples, en lugar de dobles. El problema creo que está con los '&'.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group