execlp函数和system函数

huchendushen 2012-01-13 10:17:16
我想再程序中打印当前进程信息,为什么调用
system("ps -o pid,ppid,pgrp,session,tpgid,comm");
能行,但换成
execlp("ps","ps","-o","pid","ppid","pgrp","session","tpgid","comm",(char *)0);
就不行。
...全文
352 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
人在边缘 2012-01-19
  • 打赏
  • 举报
回复
拼接错了,少了很多逗号。
宇宙漫步者 2012-01-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bokutake 的回复:]
应该先fork一个新进程再exec吧。exec会用目标程序替换当前进程的。
[/Quote]
+1
dongjiawei316 2012-01-15
  • 打赏
  • 举报
回复
execlp?你是先fork,然后再execlp的吗?
辰岡墨竹 2012-01-15
  • 打赏
  • 举报
回复
应该先fork一个新进程再exec吧。exec会用目标程序替换当前进程的。
mymtom 2012-01-14
  • 打赏
  • 举报
回复

execlp("ps","ps","-o", "pid,ppid,pgrp,session,tpgid,comm", (char *)0);
qq120848369 2012-01-14
  • 打赏
  • 举报
回复
我建议用/bin/bash sh -c command的方法.... ps万一是个脚本的话。。。exec应该是跑步起来的- -

23,121

社区成员

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

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