No.1ベストアンサー
- 回答日時:
Openでパイプを使って起動した子プロセスには、環境変数は全てコピーされるはずです。
どの変数が消えたり変ったりしてますか?> 環境変数(IPアドレスとか、POSTデータ)
CGIパラメーターが環境変数として渡されるのは GETメソッドの場合です。 (GETメソッドの場合、URL上でも xxxx?a=1&b=2 の様にパラメーターを表現できます)
POSTメソッドの CGIパラメーターは、STDIN から入力します。 だから、これを子プロセスに引き継ぐには、それなりの工夫が必要です。
工夫というと、例えば以下のいずれかです。
・ 親が STDIN を読む前に子プロセスを起動する。
・ 親は入力した STDIN を記憶しておき、子プロセスの起動後に記憶内容をパイプで渡す。 子プロセスの STDOUT を親がパイプで読みたいなら、さらに面倒。 (パイプ指定の open() だけでは STDIN/STDOUT 両方のパイプは多分不可)
いずれの場合も、CGI.pm なんかを親が使うとまずいかも知れません。
ありがとうございます。下のような感じでできました・・・。
open (IN, "perl C:\\test\\hoge.cgi|");
while ( $line = <IN>) {
print $line;
}
close(IN);
が・・・実をいえば、実現したいことは、
CGIでHTMLファイルを読み込んで、その中のSSIを解析し、それをCGI上で実現することなんです。
上のような方法で、
<!--#exec cmd="test.cgi" -->
という記述をCGIで認識してそれを実行し出力することには成功しました。
また、環境変数もきちんと渡せていました。
しかし・・・例えば、test.cgi?a=bのようにパラメータをつけての実行はできませんでした。
一応、CGIからCGIを実行することには成功しましたので、
あらためて質問をたてさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
起動中の他のプログラム(orプ...
-
プロセスのアタッチ・デタッチ...
-
シェルで親プロセス終了時に子...
-
完全な乱数を生成する方法
-
ウインドウのプロセス終了について
-
怪しいプロセス教えてください。
-
タスクマネージャーのプロセス...
-
起動中のEXCELファイル(EXCEL...
-
バックグラウンドのプロセスの...
-
ウィンドウのタイトルからプロ...
-
CreateObjectで作成したExcelの...
-
VB6.0 SHELLで起動...
-
CPUの使用率について
-
GPLによるソース公開の回避方法
-
他のアプリケーションの操作に...
-
UNIX関数?(popen)...
-
この中で間違ってある説明はあ...
-
起動中のプロセスのメモリを書...
-
今のCPUは2nmプロセスとか何や...
-
IMEを再起動したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
explorer.exeが異様にメモリを食う
-
タスクマネージャーのプロセス...
-
C#でのbatファイル実行結果取得
-
プロセスのアタッチ・デタッチ...
-
VB6.0 SHELLで起動...
-
プロセスIDからウィンドウハ...
-
Process.Startの戻り値を後で取得
-
ウィンドウのタイトルからプロ...
-
他のEXEが起動しているかの確認
-
ADOでアクセスのレコードに...
-
怪しいプロセス教えてください。
-
別のプロセスの関数を呼び出す...
-
C++のプログラムをバックグラウ...
-
Linuxでのスレッド間メッセージ...
-
C++でシェルを起動
-
プロセスIDの取得方法について
-
OSPFでプロセスを分ける意義に...
-
非表示になったエクセルは?
-
Windowsでのfork方法
おすすめ情報