![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Linux Red Hat, Ubuntu, SUSE, Fedora, Debian, Mandriva, Slackware, Gentoo, PCLinuxOS. Todas las preguntas Linux aquí! |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| Guía de instalación: Bases de datos Oracle 11g Release 1 en Oracle Enterprise Linux 5 | iBOT | Oracle Actualizaciones (RSS) | 0 | 04-06-2008 06:10 AM |
| Guía de actualización: Mudarse a Oracle RAC 11g sobre Oracle Enterprise Linux | iBOT | Oracle Actualizaciones (RSS) | 0 | 04-06-2008 06:10 AM |
| Construya su propia Oracle RAC de Cluster en Oracle Enterprise Linux e iSCSI | iBOT | Oracle Actualizaciones (RSS) | 0 | 04-06-2008 06:10 AM |
| Instalar Oracle RAC 10g sobre Oracle Enterprise Linux usando VMware Server | iBOT | Oracle Actualizaciones (RSS) | 0 | 04-06-2008 06:10 AM |
| Oracle (R) lanza el Enterprise Linux Universidad y Formación ... - CNNMoney.com | iBOT | UNIX y Linux Noticias RSS | 0 | 11-14-2007 10:00 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
vgscan no produce resultados utilizando descriptores de archivo en Oracle Enterprise Linux.
Escribí un programa simple que crea un proceso hijo para ejecutar un comando y la salida va a ser redirigido a el archivo.
Por favor, eche un vistazo al código siguiente -> # include <stdio.h> # include <stdlib.h> # include <sys/stat.h> # include <fcntl.h> vacío ejecutar (char ** argv) ( pid_t pid; int status; int fStdOutDesc \u003d open ( "/ tmp / OUTFILE", O_CREAT | O_RDWR, S_IREAD | S_IWRITE); int fStdErrDesc \u003d open ( "/ tmp / errfile", O_CREAT | O_RDWR, S_IREAD | S_IWRITE); printf ( "Fuera dup2 Desc archivo es% d \ n", fStdOutDesc); printf ( "error de archivo dup2 Desc es% d \ n", fStdErrDesc); if ((pid \u003d tenedor ()) <0) / * tenedor un proceso hijo * / ( printf ( "ERROR: forks proceso hijo no ... \ n"); exit (1); ) else if (pid \u003d\u003d 0) / * para el proceso hijo: * / ( dup2 (fStdOutDesc, fileno (stdout)); dup2 (fStdErrDesc, fileno (stderr)); if (execvp (* argv, argv) <0) / * ejecutar el comando * / ( printf ( "ERROR: no exec ... \ n"); exit (1); ) ) else / * para el proceso padre: * / ( while (esperar (& estado)! \u003d pid); / * esperar a la terminación * / ) ) int main (void) ( char cmd [1024]; char * argv [64]; printf ( "Introduzca el comando:"); scanf ( "% s", & cmd); / * para ls obras y no funciona para vgscan * / printf ( "\ n"); argv [0] \u003d cmd; argv [1] \u003d '\ 0'; ejecutar (argv); return 0; ) Después de ejecutar el programa anterior, es un símbolo de entrada (comando), si se introduce "ls", la salida de la "ls" comando se redirige a / tmp / de salida, mientras que después de entrar en vgscan, no habrá nada en cualquiera de los dos / tmp / OUTFILE o / tmp / errfile. Este problema es especialmente con algunos comandos como vgscan, pvscan, vgdisplay, etc lvdisplay que estos comandos en caso de dar salida corrió a través de depósito. Este es el caso de sólo Oracle Enterprise Linux. El mismo programa funciona bien en otras versiones de Linux. Cualquier ayuda en relación con esto sería muy útil. |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|