g€€k
26-07-2006, 20:19
Hi!
Ich verwende execl, um ein fremdes Programmimage zu laden, aber execl scheint die an das Image zu übergebenden Argumente einfach zu ignorieren.
Snippet:
if((strcmp(cmdBuffer, "launch\n") == 0) && (!child))
{
pid_t pid = fork();
if(pid == -1)
{
printError("Fork error.");
fclose(fStdIn);
return 1;
}
if(pid == 0)
{
execl("/bin/ls", "-l", (char *)0);
printError("Unable to launch process.");
return 1;
}
child = pid;
continue;
}
Im Verzeichnis befinden sich die Textdateien file0.txt und file1.txt.
Resultat:
file0.txt file1.txt
Eigentlich müsste ls -l ja folgendes ausgeben:
total 0
-rw-r--r-- 1 cn cn 0 2006-07-26 20:11 file0.txt
-rw-r--r-- 1 cn cn 0 2006-07-26 20:11 file1.txt
Ich steh da total auf der Leitung, vielleicht kann mir jemand einen guten Rat geben, wie ich das beheben kann.
Danke, CN
Ich verwende execl, um ein fremdes Programmimage zu laden, aber execl scheint die an das Image zu übergebenden Argumente einfach zu ignorieren.
Snippet:
if((strcmp(cmdBuffer, "launch\n") == 0) && (!child))
{
pid_t pid = fork();
if(pid == -1)
{
printError("Fork error.");
fclose(fStdIn);
return 1;
}
if(pid == 0)
{
execl("/bin/ls", "-l", (char *)0);
printError("Unable to launch process.");
return 1;
}
child = pid;
continue;
}
Im Verzeichnis befinden sich die Textdateien file0.txt und file1.txt.
Resultat:
file0.txt file1.txt
Eigentlich müsste ls -l ja folgendes ausgeben:
total 0
-rw-r--r-- 1 cn cn 0 2006-07-26 20:11 file0.txt
-rw-r--r-- 1 cn cn 0 2006-07-26 20:11 file1.txt
Ich steh da total auf der Leitung, vielleicht kann mir jemand einen guten Rat geben, wie ich das beheben kann.
Danke, CN