设置系统环境变量需要重启吗?
2015-09-14 21:28
239 查看
环境变量相当于给系统或用户应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。比如path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到哪些目录下去寻找。
经常看到一些软件的安装说明上写着,修改Windows的环境变量,然后重新启动计算机。这让人不禁产生疑问,修改环境变量之后真的要重启吗?
其实只要理解了环境变量的原理就可以做出正确的判断。环境变量是一些系统变量,这些变量对运行的任意一个程序都有效。最简单的确认方法就是 cmd.exe 程序。
单击“开始”->“运行”,然后输入 cmd,回车,在启动的命令行窗口中输入
set,之后就可以看到一大堆各种各样的环境变量显示在屏幕上。而修改环境变量则是通过“控制面板”->“系统”->“高级”->“环境变量”对话框进行的。
这里要理解的是,一个程序启动时,环境变量被复制到该程序所在的环境中,在该程序执行过程中不会被除该程序以外的其他程序所改变。也就是说,假设我们启动了一个cmd程序,然后通过控制面板修改了环境变量设置,但是已经启动了的cmd所拥有的环境变量并不会被改变。如果我们在修改环境变量之后启动cmd程序,则该程序将拥有新的环境变量。
那么结论就很明显了:修改环境变量之后,如果受影响的是应用程序,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机;但是,如果受影响的是系统服务,就必须重新启动才能将环境变量的修改反映到系统服务中(因为没有办法在不重启计算机的情况下重新启动系统服务管理器)。
但是网上还查到也有不重启就能使设置生效的方法:
以修改环境变量“PATH”为例,修改完成后,进入DOS命令提示符,输入:
关闭DOS窗口。再次打开DOS窗口,输入:
可以发现“我的电脑”->“属性”->“高级”->“环境变量”中设置的 PATH 值已经生效。
不用担心DOS窗口中的修改会影响环境变量的值,DOS窗口中的环境变量只是Windows环境变量的一个副本而已。但是对副本的修改却会引发Windows环境变量的刷新,这正是我们想要的!
经常看到一些软件的安装说明上写着,修改Windows的环境变量,然后重新启动计算机。这让人不禁产生疑问,修改环境变量之后真的要重启吗?
其实只要理解了环境变量的原理就可以做出正确的判断。环境变量是一些系统变量,这些变量对运行的任意一个程序都有效。最简单的确认方法就是 cmd.exe 程序。
单击“开始”->“运行”,然后输入 cmd,回车,在启动的命令行窗口中输入
set,之后就可以看到一大堆各种各样的环境变量显示在屏幕上。而修改环境变量则是通过“控制面板”->“系统”->“高级”->“环境变量”对话框进行的。
这里要理解的是,一个程序启动时,环境变量被复制到该程序所在的环境中,在该程序执行过程中不会被除该程序以外的其他程序所改变。也就是说,假设我们启动了一个cmd程序,然后通过控制面板修改了环境变量设置,但是已经启动了的cmd所拥有的环境变量并不会被改变。如果我们在修改环境变量之后启动cmd程序,则该程序将拥有新的环境变量。
那么结论就很明显了:修改环境变量之后,如果受影响的是应用程序,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机;但是,如果受影响的是系统服务,就必须重新启动才能将环境变量的修改反映到系统服务中(因为没有办法在不重启计算机的情况下重新启动系统服务管理器)。
但是网上还查到也有不重启就能使设置生效的方法:
以修改环境变量“PATH”为例,修改完成后,进入DOS命令提示符,输入:
set PATH=C:
关闭DOS窗口。再次打开DOS窗口,输入:
echo %PATH%
可以发现“我的电脑”->“属性”->“高级”->“环境变量”中设置的 PATH 值已经生效。
不用担心DOS窗口中的修改会影响环境变量的值,DOS窗口中的环境变量只是Windows环境变量的一个副本而已。但是对副本的修改却会引发Windows环境变量的刷新,这正是我们想要的!
相关文章推荐
- 程序包管理
- Linux指令学习笔记(一)
- 乐观锁和悲观锁
- [疑似官泄] 某Ri牌示波器固件破解
- Java web访问MySql数据库分页查询
- 宏定义以及例子
- 揭秘云计算 为应用程序选择最佳云计算平台
- 使用DOSBox在Win7_x64下搭建汇编环境
- StateListDrawable(状态)资源属性
- java虚拟机的面试问题
- centos 7 防火墙和端口配置
- 用AXIS2发布法WebService的方法
- capture screen activity to a movie file using AV Foundation on OS X 10.7 Lion and later
- Dart基础学习03--方法的使用
- hdu2824 The Euler function
- 使用自己生成SSL证书时,Git报错的解决办法
- hdu5446
- NSScanner: nil string argument
- Exbox上的相关链接
- Python+OpenCV学习(12)---特征匹配