The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Sistemi Operativi > Linux
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 03-07-2008
sandiworld sandiworld is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2007
Interventi: 4
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.
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Chiuso
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 10:05 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0