Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SolariiS

[Resolvido] troca de diretorios para executar scripts secundarios

Recommended Posts

Olá

 

eu fiz um servidor web com nginx, como este nao tem painel para restart/close entao eu fiz um em c++:

 


#include<stdlib.h>
#include<stdio.h>
#include<dos.h>

main(int argc, char *argv[])
{
        int option;
        int php;
        int nginx;
        //char execphp[100];

   printf("\t ***************************************************** \n");
   printf("\t \t   INICIAR SERVICOS WEB - PHP, NGINX \n");
   printf("\t ***************************************************** \n");
   printf("\n");
   printf("1- Iniciar PHP \n");
   printf("2- Iniciar NGINX \n");
   printf("3- Iniciar ambos \n");
   printf("4- Sair \n");

   //execphp = ' c:\\nginx\\php\\php-cgi.exe -b "127.0.0.1:9000" -c c:\\nginx\\php\\php.ini ';
   system("cd C:\\nginx\\conf ");
   php = system("start start-php.bat");
   nginx = system("start ../start-nginx.exe");
   //z= system(execphp);
   printf("PHP: %d",php);
   printf("NGINX: %d",php);

   system("PAUSE");

}




 

o meu problema seriam 2 na verdade

de trocar o diretorio para executar um segundo .exe

e escapar a linha: //execphp = ' c:\\nginx\\php\\php-cgi.exe -b "127.0.0.1:9000" -c c:\\nginx\\php\\php.ini ';

tentei escapar ela de varias formas e nao consegui

 

se alguem puder me ajudar, agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correção: você fez um programa em C e não C++.

 

Detalhe os problemas. Que erro deu? Como você tentou?

 

O que você quer fazer com o diretório? Se a primeira troca de diretório funcionou, então é só replicar o método.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o primeiro nao funcionou tambem, aquela é a pasta onde está rodando o script

 

ele nao troca de diretorio usando cd nem chdir

 

ele teria que ir para este segundo diretorio para executar outro exe que está dentro dele

 

pois este exe nao funciona executado pelo caminho absoluto

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui o que queria, obrigado

 

mas tenho outras duas duvidas

 

teria algum comando dos para abrir uma outra janela pra executar outro exe, nao executar na mesma do programa principal

 

e se tem como pegar informaçoes de retorno de comandos, exemplo:

 

tasklist /fi "IMAGENAME eq php-cgi.exe"

 

se teria como pegar as informaçoes em um array, sei lá

 

agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui não é seção para dúvidas em batch :)

 

Mas, abrindo uma excessão, quanto ao abrir outra janela, tente o comando start ;D

 

Sobre o trem de retorno de comandos, eu não entendi o que quis dizer.

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpa pela sessao errada...

 

start ele inicia mas não abre em outra janela de prompt

 

quanto ao retorno:

 

eu uso o comando 'tasklist /fi "IMAGENAME eq php-cgi.exe"'

 

e ele retorna uma tabelinha no prompt mesmo do processos que eu especificar

 

mas usando c, teria como eu manipular esses dados, ao inves de retornar na janela e eu nao poder parsear

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.