WinNT+IIS上CGIプログラムからsystem関数を使うには?

[上に] [前に] [次に]
mario 1999/08/27(金) 23:13:35
CGIから他のプログラムを呼び出し方を教えてください。

OS環境:Win NT Server4.0
WWWサーバー:IIS4.0
開発言語:C
コンパイラ:gcc

CGI プログラムからさらに独立するプログラムを実行させた
いですが、UNIX上はsystem関数が使えますが、NT上はできな
いようです。(直接コマンドプロンプト上に実行することができます)

ほかに何かやり方があるでしょうか?

ぜひよろしくお願いします。

参照:
***********
index.html
***********

<FORM ACTION="/cgi-bin/test2.exe" METHOD="POST">


***********
test2.c
***********
#include <stdio.h>
#include <stdlib.h>
#include <process.h>

main()
{
        int     Orcode;
        char    Buffer[100];

        memset(Buffer,’\0’,100);

        fprintf( stdout,"Content-type: text/html;\n\n" );
        puts("m_s");
        if(system(NULL))
        {
                puts("sonzai");
                strcpy ( Buffer,"test3.exe\0" );
                Orcode = system(Buffer);

                /*Orcode =_spawnl(_P_WAIT,Buffer);*/
                printf ( "Orcode=[%d]\n", Orcode );
        }
        puts("m_e");
}


**********
test3.c
**********
#include <stdio.h>
#include <stdlib.h>

main(void)
{
        FILE    *fp;

        /*fprintf(stdout, "Content-type: text/html;\n\n" );*/
        puts("s_s");

        fp = fopen("a.test","w");
        if ( fp == NULL )
        {
                puts("File can not open\n");
                return;
        }

        fputs("ok",fp);

        fclose(fp);

        puts("s_e");

        exit (0);
}

B-Cus 1999/08/28(土) 07:20:47
Windowsは知らんけど、open(EXEC,"program|") とかもダメ?

B-Cus 1999/08/28(土) 07:22:17
あ、ごめん。Cの話でしたね。

とほほ 1999/09/03(金) 00:30:45
system()が無理なら、popen()とかは?
gccからWin32のCreateProcess()は呼び出せないのかなぁ。

[上に] [前に] [次に]