linux system函数调用shell 命令出错解决方法?

cuojue306 2019-03-07 10:07:59
大神们谁遇到过这种奇葩问题:
采用system 调用系统命令出错:
char *command = "ps aux |sort -nr -k 4|sort -nr -k 3|head -n 12 | grep -v "USER"| awk '{printf "%-10s %-10s %-10s %-10s\n",$1,$2,$3,$11}'"
FILE *fp = popen(command,"r");
编译错误:
:55:81: error: expected ‘,’ or ‘;’ before ‘USER’
:55:105: error: invalid suffix "s" on integer constant
:55:111: error: invalid suffix "s" on integer constant
:55:117: error: invalid suffix "s" on integer constant
:55:123: error: invalid suffix "s" on integer constant
: error: stray ‘\’ in program

在控制台窗口单独执行该命令没有问题
...全文
208 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
X-i-n 2019-03-07
  • 打赏
  • 举报
回复
引号转义,要不就把grep -v "USER" 改成 grep -v 'USER'。
qq_42307333 2019-03-07
  • 打赏
  • 举报
回复
应该是引号的问题吗,多个双引号,配对错了

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧