![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Linux RedHat, Ubuntu, SUSE, Fedora, Debian, Mandriva, Slackware, Gentoo Linux, PCLinuxOS. Alle Linux spørsmål her! |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Install Guide: Oracle Database 11g Release 1 på Oracle Enterprise Linux 5 | iBot | Oracle Oppdateringer (RSS) | 0 | 04-06-2008 05:10 |
| Oppgrader Guide: Flytte til Oracle RAC 11g på Oracle Enterprise Linux | iBot | Oracle Oppdateringer (RSS) | 0 | 04-06-2008 05:10 |
| Bygg ditt eget Oracle RAC Cluster på Oracle Enterprise Linux og iSCSI | iBot | Oracle Oppdateringer (RSS) | 0 | 04-06-2008 05:10 |
| Installere Oracle RAC 10g på Oracle Enterprise Linux bruker VMware Server | iBot | Oracle Oppdateringer (RSS) | 0 | 04-06-2008 05:10 |
| Oracle (R) Universitetet Lanserer Enterprise Linux Opplæring og ... - CNNMoney.com | iBot | UNIX og Linux RSS Nyheter | 0 | 11-14-2007 10:00 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
vgscan produserer ingen utdata bruker filen beskrivere på Oracle Enterprise Linux.
Jeg skrev et enkelt program som vil skape et barn prosess for å utføre en kommando, og resultatet vil bli omdirigert til filen.
Vennligst ta en titt på følgende kode -> # 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 file Beskr dup2% d \ n", fStdOutDesc); printf ( "Err fil Beskr dup2% d \ n", fStdErrDesc); if ((pid \u003d fork ()) <0) / * gaffel barn prosess * / ( printf ( "FEIL: forking barnet prosessen mislykkes ... \ n"); exit (1); ) else if (pid \u003d\u003d 0) / * for barnet prosessen: * / ( dup2 (fStdOutDesc, fileno (stdout)); dup2 (fStdErrDesc, fileno (stderr)); if (execvp (* argv, argv) <0) / * utføre kommandoen * / ( printf ( "FEIL: exec failed ... \ n"); exit (1); ) ) else / * for den overordnede prosessen: * / ( stund (wait (& status)! \u003d pid); / * vente for gjennomføring * / ) ) int main (void) ( char cmd [1024]; char * argv [64]; printf ( "Skriv inn følgende kommando:"); scanf ( "% s", & cmd); / * arbeider for ls og fungerer ikke for vgscan * / printf ( "\ n"); argv [0] \u003d cmd; argv [1] \u003d '\ 0'; execute (argv); return 0; ) Etter å ha kjørt over, så vil den be om en inngang (kommando), hvis du skriver "ls", resultatet av "ls" kommandoen er omdirigert til / tmp / outfile, mens etter å ha tastet vgscan, vil det ikke være noe enten / tmp / outfile eller / tmp / errfile. Dette problemet er spesielt med få kommandoer som vgscan, pvscan, vgdisplay, lvdisplay etc mens disse kommandoene gir output hvis løp gjennom skallet. Dette er tilfellet for bare Oracle Enterprise Linux. Det samme programmet fungerer fint på andre Linux-versjoner. Alle hjelpe om dette ville være svært nyttig. |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|