当前位置: 技术问答>linux和unix
调用system(“命令”)和函数调用之间有什么不同?效率?
来源: 互联网 发布时间:2015-08-08
本文导语: 程序中,有时候为了实现某个功能,可以通过函数调用(具有特定功能的函数)的方式来实现,也可以通过调用system(“命令”)来实现,既然二者都可以实现,那么它们之间有什么异同吗?在程序运行的时候会影响运行的效...
程序中,有时候为了实现某个功能,可以通过函数调用(具有特定功能的函数)的方式来实现,也可以通过调用system(“命令”)来实现,既然二者都可以实现,那么它们之间有什么异同吗?在程序运行的时候会影响运行的效率吗???谢谢
|
system函数运行时必须开一个shell,然后它所要运行的程序作为shell进程的
子进程来运行,而exec等函数就不必开一个shell,程序的效率问题可想而知,
另外和shell打交道必定涉及到许多的安全问题,所以,exec的一系列函数是最
好的选择,system函数在专业领域很少使用。
子进程来运行,而exec等函数就不必开一个shell,程序的效率问题可想而知,
另外和shell打交道必定涉及到许多的安全问题,所以,exec的一系列函数是最
好的选择,system函数在专业领域很少使用。
|
system()启动一个sh将参数传给sh启动执行,sh又调用exec系列函数创建进程,执行命令,退出wait等等操作,效率可想而知,同样的功能优先选择函数,不过自己写的函数的话可能会引入bug等等,这些要注意,我喜欢功能自己重写比如ls等,毕竟自己用不了那么多功能,没有必要
|
chnos(屋脊) and cvsuser(想当螃蟹的猪头) right