在两个终端中运行相同的python代码,它们会相互干扰吗?

sam*_*ara 13 python ubuntu

我有一个python脚本,需要一段时间才能完成执行,具体取决于传递的参数.因此,如果我从两个具有不同参数的终端运行它们,它们是否获得了自己的代码版本?我看不到.pyc生成两个文件.

1号航站楼运行: python prog.py 1000 > out_1000.out

在终端1上运行的脚本终止之前,我开始运行另一个; 因此终端2运行: python prog.py 100 > out_100.out

或者基本上我的问题是他们可以互相干扰吗?

Ali*_*Ali 14

我正在将输出写入磁盘中的同一文件,然后是,它将被覆盖.但是,您似乎将输出打印到标准输出,然后将它们重定向到文件.所以情况并非如此.

现在回答你的问题很简单:同一代码的两个不同执行之间没有交互.执行程序或脚本时,第一个OS会将代码加载到内存中然后执行.对代码的后续更改与已运行的代码无关.从技术上讲,正在运行的程序称为进程.当您在两个不同的终端上运行代码时,操作系统上将有两个不同的进程,每个进程一个,除非您明确这样做(IPC或进程间通信),否则两个进程无法进行干扰.不在这里

总而言之,您可以在不同的终端上同时运行代码,它们将完全独立.

  • +1 喜欢您回答基本操作系统、内存/进程管理概念问题的方式。谢谢! (2认同)