私の課題では、cgi スクリプト (C プログラム) と、system() を使用してスクリプトから呼び出したいプログラムがあります。cgi-bin/ と 755 への chmod の両方。自分の cgi プログラムで作成したシステム コールが有効であることはわかっています (パスは正しく、コマンドも正しい...) が、呼び出しは常に失敗します。cgi-script の実行中に作業ディレクトリを確認しましたが、正しいです。同じ呼び出しを bash で実行すると機能しますが、メニュー プログラムでは機能しません。
私のコンピューターでサーバーを実行したときにシステムコールが機能していたので奇妙です(python -m CGIHTTPServerを使用)が、Webサイトを大学のサーバーに配置すると、system()を除いてすべてが機能します電話。したがって、権限と関係があるようです。
問題の呼び出しは次のとおりです。
sprintf(systemCall, "passweb -add %s", username);
exitStatus = system(systemCall); //always 1