![]() |
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| Linux RedHat, Ubuntu, SUSE, Fedora, Debian, Mandriva, Slackware, Gentoo linux, PCLinuxOS. Toutes les questions Linux ici! |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Guide d'installation: Oracle Database 11g Release 1 sur Oracle Enterprise Linux 5 | iBot | Mises à jour d'Oracle (RSS) | 0 | 04-06-2008 05:10 AM |
| Guide de mise à jour: Le passage à Oracle RAC 11g sur Oracle Enterprise Linux | iBot | Mises à jour d'Oracle (RSS) | 0 | 04-06-2008 05:10 AM |
| Build Your Own Oracle RAC Cluster sur Oracle Enterprise Linux et iSCSI | iBot | Mises à jour d'Oracle (RSS) | 0 | 04-06-2008 05:10 AM |
| Installation Oracle RAC 10g sur Oracle Enterprise Linux avec VMware Server | iBot | Mises à jour d'Oracle (RSS) | 0 | 04-06-2008 05:10 AM |
| Oracle (R) Enterprise Linux lance l'Université de formation et de ... - CNNMoney.com | iBot | UNIX et Linux News RSS | 0 | 11-14-2007 10:00 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
vgscan ne produit pas de sortie en utilisant les descripteurs de fichiers sur Oracle Enterprise Linux.
J'ai écrit un programme simple qui permettra de créer un processus fils pour exécuter une commande et la sortie sera redirigé vers le fichier.
S'il vous plaît jeter un oeil sur le code suivant -> # 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 dup2 Desc fichier est% d \ n", fStdOutDesc); printf ( "Err Desc dup2 fichier est% d \ n", fStdErrDesc); if ((pid \u003d fork ()) <0) / * fork un processus fils * / ( printf ( "ERROR: processus n'a pas réussi à séparer l'enfant ... \ n"); sortie (1); ) else if (pid \u003d\u003d 0) / * pour le processus fils * / ( dup2 (fStdOutDesc, fileno (stdout)); dup2 (fStdErrDesc, fileno (stderr)); if (execvp (* argv, argv) <0) / * exécution de la commande * / ( printf ( "ERROR: exec a échoué ... \ n"); sortie (1); ) ) else / * pour le processus parent: * / ( while (wait (& status)! pid \u003d); / * attendre la fin * / ) ) int main (void) ( char cmd [1024]; char * argv [64]; printf ( "Entrez la commande:"); scanf ( "% s", & cmd); / * travaille pour ls et ne fonctionne pas pour vgscan * / printf ( "\ n"); argv [0] \u003d cmd; argv [1] \u003d '\ 0'; execute (argv); return 0; ) Après l'exécution de programme ci-dessus, il l'invite pour une entrée (commande), si vous tapez "ls", la sortie de la commande "ls" est redirigé vers / tmp / outfile, alors que vgscan après l'entrée, il n'y aura pas quelque chose en soit / tmp / outfile ou / tmp / errfile. Ce problème est particulièrement avec quelques commandes comme vgscan, pvscan, vgdisplay, etc lvdisplay que ces commandes si la production se donner à travers shell. Ce n'est le cas que pour Oracle Enterprise Linux. Le même programme fonctionne très bien sur d'autres versions de Linux. Toute aide en ce qui concerne ce serait très utile. |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|