![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Linux RedHat, Ubuntu, SUSE, Fedora, Debian, Mandriva, Slackware, Gentoo Linux, PCLinuxOS. Todas as perguntas Linux aqui! |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Install Guide: Oracle Database 11g Release 1 no Oracle Enterprise Linux 5 | iBot | Oracle Atualizações (RSS) | 0 | 04-06-2008 06:10 |
| Upgrade Guide: Mudança para Oracle RAC 11g no Oracle Enterprise Linux | iBot | Oracle Atualizações (RSS) | 0 | 04-06-2008 06:10 |
| Construir o seu próprio Oracle RAC Cluster no Oracle Enterprise Linux e iSCSI | iBot | Oracle Atualizações (RSS) | 0 | 04-06-2008 06:10 |
| Install Oracle RAC 10g no Oracle Enterprise Linux usando VMware Server | iBot | Oracle Atualizações (RSS) | 0 | 04-06-2008 06:10 |
| Oracle (R) Lança Universidade Enterprise Linux Formação e ... - CNNMoney.com | iBot | UNIX e Linux RSS Notícias | 0 | 11-14-2007 10:00 |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
||||
|
vgscan não produz qualquer saída usando arquivos descritores no Oracle Enterprise Linux.
Eu escrevi um simples programa que irá criar um processo para executar um comando ea saída será redirecionada para o arquivo.
Tenha um olhar para o seguinte código -> # 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 arquivo é% d \ n", fStdOutDesc); printf ( "Err Desc dup2 ficheiro é% d \ n", fStdErrDesc); if ((pid \u003d fork ()) <0) / * garfo um processo filho * / ( printf ( "ERRO: forking processo filho falhou ... \ n"); exit (1); ) else if (pid \u003d\u003d 0) / * para o processo filho: * / ( dup2 (fStdOutDesc, fileno (stdout)); dup2 (fStdErrDesc, fileno (stderr)); if (execvp (* argv, argv) <0) / * executa o comando * / ( printf ( "ERRO: exec falhou ... \ n"); exit (1); ) ) else / * para a mãe processo: * / ( while (wait (& status)! \u003d pid); / * espera para a conclusão * / ) ) int main (void) ( char cmd [1024]; char * argv [64]; printf ( "Digite o comando:"); scanf ( "% s", & cmd); / * trabalha para ls & não funciona para vgscan * / printf ( "\ n"); argv [0] \u003d cmd; argv [1] \u003d '\ 0'; executar (argv); return 0; ) Depois de executar o programa acima, ele irá para um prompt de entrada (comando), se você digitar "ls", a saída do "ls" comando é redirecionada para / tmp / OUTFILE, que após entrar vgscan, não haverá qualquer coisa em qualquer / tmp / OUTFILE ou / tmp / errfile. Este problema é particularmente com alguns comandos como vgscan, pvscan, vgdisplay, etc lvdisplay que esses comandos dar saída se realizou através de reservatório. Este é o caso de apenas Oracle Enterprise Linux. O mesmo programa funciona bem em outras versões Linux. Qualquer ajuda em relação a este seria muito útil. |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|