我的.profile中设置了一些环境变量,这样当我登录时这些变量就可以自动设置。在某些特殊情况下,我还需要使用“export”命令更改一些设置,就像:
export OMP_NUM_THREADS=3
当我手动编辑环境变量时,使用 nohup 运行需要该变量的软件,然后注销。退出时变量会恢复吗?
答案1
对于您启动的程序nohup
,不会,变量不会因为您注销而被重置(除非它是一个监视您注销然后重置变量的程序,或类似奇怪的现象)。
每个进程都有自己的环境变量副本。对于进程 X,其他进程通常无法在没有 X 合作的情况下更改 X 的变量副本。这也是脚本无法更改当前 shell 变量的原因除非有来源。
因此,一旦您启动该进程,它就会获得 的副本OMP_NUM_THREADS
。您在 shell 中执行的操作(包括设置OMP_NUM_THREADS
为另一个值、注销、启动另一个 shell、向 Cthulhu 献祭)不会影响 X 的环境变量。