我写了这个简单的程序。我想将它的输出记录到test.log中,如下所示。我可以这样做吗?
int main(int argc, char **argv)
{
int fd = open("test.log", O_CREAT|O_WRONLY);
char *path[2];
path[0] = "/bin/ls";
path[1] = NULL;
execve((char *)&path[0], &path, NULL);
close(fd);
return 0;
}
答案 0 :(得分:0)
工作解决方案,在Rici的指导下。
int main(int argc, char **argv)
{
int fd = open("test.log", O_CREAT|O_WRONLY, 0600);
char *path[2];
path[0] = "./tes";
path[1] = NULL;
dup2(fd, 1);
dup2(fd, 2);
close(fd);
execve(path[0], (char **)&path, NULL);
return EXIT_FAILURE;
}