![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Linux RedHat, Ubuntu, SuSE, Fedora, Debian, Mandriva, Slackware, Gentoo Linux, PCLinuxOS. Tutte le domande qui Linux! |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Install Guide: Oracle Database 11g Release 1 su Oracle Enterprise Linux 5 | iBot | Oracle Aggiornamenti (RSS) | 0 | 04-06-2008 06:10 AM |
| Aggiornamento Guida: Trasferirsi in Oracle RAC 11g su Oracle Enterprise Linux | iBot | Oracle Aggiornamenti (RSS) | 0 | 04-06-2008 06:10 AM |
| Costruisci il tuo Cluster Oracle RAC su Oracle Enterprise Linux e iSCSI | iBot | Oracle Aggiornamenti (RSS) | 0 | 04-06-2008 06:10 AM |
| Installare Oracle RAC 10g su Oracle Enterprise Linux usando VMware Server | iBot | Oracle Aggiornamenti (RSS) | 0 | 04-06-2008 06:10 AM |
| Oracle (R), Università lancia Enterprise Linux Formazione e ... - CNNMoney.com | iBot | UNIX e Linux RSS News | 0 | 11-14-2007 10:00 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
vgscan produce nessun output utilizzando descrittori di file su Oracle Enterprise Linux.
Ho scritto un semplice programma che crea un processo figlio di eseguire un comando e l'output sarà reindirizzato al file.
Si prega di dare un'occhiata al seguente codice -> # include <stdio.h> # include <stdlib.h> # include <sys/stat.h> # include <fcntl.h> void execute (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 ( "Out Desc dup2 file è% d \ n", fStdOutDesc); printf ( "Err Desc dup2 file è% d \ n", fStdErrDesc); if ((pid \u003d fork ()) <0) / * forcella un bambino processo * / ( printf ( "ERRORE: non biforcare processo figlio ... \ n"); exit (1); ) else if (pid \u003d\u003d 0) / * per il processo figlio: * / ( dup2 (fStdOutDesc, fileno (stdout)); dup2 (fStdErrDesc, fileno (stderr)); if (execvp (* argv, argv) <0) / * eseguire il comando * / ( printf ( "ERRORE: exec non ... \ n"); exit (1); ) ) else / * per il processo padre: * / ( while (wait (& status)! \u003d pid); / * attendere per il completamento * / ) ) int main (void) ( char cmd [1024]; char * argv [64]; printf ( "Immettere il comando:"); scanf ( "% s", & cmd); / * opere di ls e non funziona per vgscan * / printf ( "\ n"); argv [0] \u003d cmd; argv [1] \u003d '\ 0'; execute (argv); return 0; ) Dopo l'esecuzione del programma di cui sopra, sarà pronta per un ingresso (comando), se si digita "ls", l'output di "ls" comando viene reindirizzato a / tmp / outfile, considerando che dopo l'ingresso vgscan, non ci sarà nulla in entrambi i / tmp / o outfile / tmp / errfile. Questo problema è particolarmente con pochi comandi come vgscan, pvscan, vgdisplay, ecc lvdisplay che questi comandi dare uscita se attraversava shell. Questo è il caso solo per Oracle Enterprise Linux. Lo stesso programma funziona bene su altre versioni di Linux. Qualsiasi aiuto per quanto riguarda questo sarebbe molto utile. |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|