在我的项目中,我使用内置的 python 虚拟环境 ( python -m venv)。
为了设置环境变量,我将多个添加export VAR1=VALUE1到venv/bin/activate.
显然,当我删除 venv 并创建一个新的 venv 时,例如使用新的 python 版本,我的所有 env 变量都会丢失。
那么,有没有办法保存它们呢?也许可以在创建 venv 时定义 env 变量?
python environment-variables virtualenv python-3.x python-venv
我正在学习分叉进程和内存管理,我遇到了这段代码:
#include <stdio.h>
#include <libc.h>
int main() {
for (int i = 0; i < 3; ++i) {
printf("*");
fflush(stdout);
fork();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
根据我的计算,它应该产生 7 个星星:初始进程打印一个星星(1 个星星),分叉,现在我们有 2 个进程,每个进程打印一个星星(1 + 2 = 3),然后它们分叉,所以我们有 4 个进程,每个人都会打印一颗星星,然后随着程序结束而死亡。
因此,我们应该得到 1 + 2 + 4 = 7 颗星。
然而,在某些运行中我只得到 6 星,如下面的屏幕截图所示:
其他时候,当我运行该程序时,一切都很好,并且按预期获得了 7 颗星。
到目前为止,我已经在互联网上搜索过,但还没有找到类似的东西。调试也没有帮助。
那么,是什么导致了这种奇怪的行为以及如何解决它?