我是python中多线程编程的新手。
有人能告诉我python和exec(" ls")中的os.system(" ls")是否会调用" C"正在做同样的事情? 请告诉我有关的相似点和不同点。
答案 0 :(得分:1)
在C中,exec(whatever)
使用whatever
中的代码替换当前流程的代码。因此,它永远不会回来。您可以使用os.execv
和朋友在Python中执行相同操作 - 请参阅https://docs.python.org/2/library/os.html#process-management。
os.system(whatever)
,另一方面,分叉当前进程,在子进程中执行whatever
,等待它结束,然后回报。因此,它与system(whatever)
在C中相同:在fork
,exec
和wait
系统调用之上的简单层(在类Unix中)系统;在非基于Unix的系统中通过其他方式进行模拟,我认为现在这些系统中只有大量数据是Microsoft Windows)。