Lighttpd 上で FastCGI の C言語のプログラムから `system()` で外部コマンドを実行したい
Lighttpd と FastCGI をつかって、 C言語で書いたプログラムの中から、 system()
で外部コマンドを実行というのは出来るのでしょうか。
system("ls")
は実行出来たが、 system("fswebcam・・・")
はダメです。
実行可能にするために、どこかに設定すべき項目があるのでしょうか。
<<<追補です>>>
アドバイスありがとうございます。
下記のようなプログラムでUSBカメラで撮影をしようとしています。
"TEST ABCDE"、"Request number xx"といった printf
でのHTML出力は表示されるのでプログラム自体は実行されてるようです。
ただ、system("fswebcam・・・")
で写真が撮れません。
./test.fcgiをキーインして実行させると、撮れます。
fcgiから動いてるcのプログラムから、さらにsystem( )
で外部のコマンドを実行するときに、セキュリティ対策などで制限があるのか、あるとすれば解除する方法があるのかがわかりません。
実行権、オーナー、グループなど試したのですが解決できませんでした。
#include <fcgi_stdio.h>
#include <stdlib.h>
int main(int c, char** argv){
int count = 0;
while (FCGI_Accept() >= 0){
printf("Content-type: text/html\r\n"
"\r\n"
"<html>\n"
"<head>\n"
"<title>FastCGI Test</title>\n"
"</head>\n");
printf("<body>\n");
printf("<p>TEST ABCDE</p>\n");
system("fswebcam -S 3 --line-colour \"#0000ff00\" /run/shm/fig/live.jpeg" );
printf("<p>Request number %d</p>\n"
"</body>\n"
"</html>\n", ++count);
}
return 0;
}