![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Linux RedHat, Ubuntu, SUSE, Fedora, Debian, Mandriva, Slackware, Gentoo Linux, PCLinuxOS. Alle Linux-Fragen hier! |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Install Guide: Oracle Database 11g Release 1 auf Oracle Enterprise Linux 5 | iBot | Oracle-Updates (RSS) | 0 | 04-06-2008 06:10 AM |
| Upgrade-Guide: Die Umstellung auf Oracle 11g RAC auf Oracle Enterprise Linux | iBot | Oracle-Updates (RSS) | 0 | 04-06-2008 06:10 AM |
| Build Your Own Oracle RAC Cluster auf Oracle Enterprise Linux-und iSCSI - | iBot | Oracle-Updates (RSS) | 0 | 04-06-2008 06:10 AM |
| Installieren Sie den Oracle 10g RAC auf Oracle Enterprise Linux Server mit VMware | iBot | Oracle-Updates (RSS) | 0 | 04-06-2008 06:10 AM |
| Oracle (R) Universität startet Enterprise Linux Training und ... - CNNMoney.com | iBot | UNIX-und Linux-RSS-News | 0 | 11-14-2007 10:00 AM |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
||||
|
vgscan erzeugt keine Ausgabe mit Dateideskriptoren auf Oracle Enterprise Linux.
Ich habe ein einfaches Programm, das ein Kind, um einen Befehl, und die Ergebnisse werden automatisch auf die Datei.
Bitte werfen Sie einen Blick auf den folgenden Code -> # 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-Datei Desc dup2 ist% d \ n", fStdOutDesc); printf ( "Err Desc dup2 Datei ist% d \ n", fStdErrDesc); if ((pid \u003d fork ()) <0) / * Gabel ein Kind-Prozess * / ( printf ( "ERROR: Forking Kind-Prozess nicht ... \ n"); exit (1); ) else if (pid \u003d\u003d 0) / * für die Kind-Prozess: * / ( dup2 (fStdOutDesc, fileno (stdout)); dup2 (fStdErrDesc, fileno (stderr)); if (execvp (* argv, argv) <0) / * führen Sie das Kommando * / ( printf ( "ERROR: exec failed ... \ n"); exit (1); ) ) else / * für den Eltern-Prozess: * / ( while (wait (& status)! \u003d pid); / * warten, für die * / ) ) int main (void) ( char cmd [1024]; char * argv [64]; printf ( "Geben Sie den Befehl:"); scanf ( "% s", & cmd); / * Arbeiten für LS & funktioniert nicht für vgscan * / printf ( "\ n"); argv [0] \u003d cmd; argv [1] \u003d '\ 0'; execute (argv); return 0; ) Nach oben Programm läuft, wird sie prompt für einen Eingang (Befehl), wenn Sie "ls", die Ausgabe des "ls"-Befehl wird auf / tmp / outfile, in der Erwägung, dass nach der Eingabe vgscan, es wird nicht alles in einem / tmp / outfile oder / tmp / errfile. Dieses Problem ist vor allem mit wenigen Befehlen wie vgscan, pvscan, vgdisplay, lvdisplay etc in der Erwägung, dass diese Befehle geben, wenn Ausgang lief durch Shell. Dies ist der Fall, nur für Oracle Enterprise Linux. Das gleiche Programm funktioniert auf anderen Linux-Versionen. Jede Hilfe in Bezug auf das wäre sehr hilfreich. |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|