来自Shell的警告在服务器端而不是在客户端打印出来

时间:2015-11-17 20:18:41

标签: c sockets client popen

正如你在下面看到的那样,代码似乎有点正确 - 但是这是一个让我烦恼的小事。为了这个例子,我故意将popen中的命令更改为ls s(在我的情况下是没有目录!)。 shell(?)打印出错误/警告消息:ls: s: No such file or directory,但它在服务器端执行此操作!每个成功的命令都被写入并发送给客户端似乎很奇怪,但错误和警告却没有。我该如何解决这个问题?

FILE *fp = NULL;
fp = popen("ls s", "r") // Inserting "ls s" as command. 

char path[100];
char* buffer = malloc(sizeof(char) * 1024);

while (fgets(path, 100, fp) != NULL){
   strcat(buffer, path);
}

write(connected, buffer, strlen(buffer));

free(buffer);

pclose(fp);

0 个答案:

没有答案