1
所以我想要做的是调用一个系统命令与system()
函数,然后无论它的输出是我想要它并将其发送到客户端(套接字连接)。使用system()运行系统命令并发送输出
客户端可以发送各种消息。它可以是ls
,但它可能是qwerty
。我想输出并将其作为const void* buffer
参数放入write()
函数中。我看过this topic,但我可以完成它的工作。到目前为止,我认为它可以在这些线路的某个地方,但无论我尝试它没有奏效。
/* buffer is message from the client: ls, ls -l, whatever*/
system(buffer)
fp = popen(buffer, "r");
if(fp == NULL)
printf("Failed ot run command\n");
while(fgets(path, sizeof(path), fp) != NULL) {
//modify output here?
}
pclose(fp);
write(socket_fd, output, strlen(buffer));
你在哪里调用'系统()'? –
@ Code-Apprentice右上方 – Lisek
似乎命令行中的命令似乎也不是文件名。 –