|

楼主 |
发表于 2005-5-11 09:28:49
|
显示全部楼层
但是exec()族命令不是会覆盖原来的进程吗?
那调用完exec()后面的程序岂不是执行不了了?
Post by Freebird
BTW:当然,你也可以使用exec族命令,比如:
execl("/bin/ps", "ps", "-ax", 0);
execlp("ps", "ps", "-ax", 0);
execle("/bin/ps", "ps", "-ax", 0, ps_envp);
execv("/bin/ps", ps_argv);
execvp("ps", ps_argv);
execve("/bin/ps", ps_argv, ps_envp);
NOTES:system并非一个高效的方法,因为当你运行它时,它会启动一个shell,然后执行其中的命令,直到命令执行完毕,才返回原(C)程序,一个解决办法是将shell命令放入后台,例如使用system("ps -ax &");来取代上面的命令. |
|