在我的 C 程序中执行此命令的最佳方法是什么:“sudo cat /var/log/auth.log | grep Accepted”?我尝试使用:
sprintf(command_result,"sudo cat /var/log/auth.log | grep Accepted");
但这显然不起作用。
在我的 C 程序中执行此命令的最佳方法是什么:“sudo cat /var/log/auth.log | grep Accepted”?我尝试使用:
sprintf(command_result,"sudo cat /var/log/auth.log | grep Accepted");
但这显然不起作用。
sprintf()
您system()
至少无法执行命令
使固定:
sprintf(command_result, "sudo cat /var/log/auth.log | grep Accepted");
system(command_result);
您可以使用管道执行命令
FILE *fp;
fp=popen(command_result,"r");
然后你可以从管道中读取命令输出,fp
就像从文件中读取fgets()
or fread()
...
顺便说一句,如果 sudo 命令中需要密码,则不能执行 sudo 命令