经常看到一些软件的安装说明上写着,修改Windows的环境变量,然后重新启动计算机。这让人不禁产生疑问,修改环境变量之后真的要重启吗?
其实只要理解了环境变量的原理就可以做出正确的判断。环境变量是一些系统变量,这些变量对运行的任意一个程序都有效。最简单的确认方法就是 cmd.exe 程序。单击“开始”->“运行”,然后输入 cmd,回车,在启动的命令行窗口中输入 set,之后就可以看到一大堆各种各样的环境变量显示在屏幕上。而修改环境变量则是通过“控制面板”->“系统”->“高级”->“环境变量”对话框进行的。
这里要理解的是,一个程序启动时,环境变量被复制到该程序所在的环境中,在该程序执行过程中不会被除该程序以外的其他程序所改变。也就是说,假设我们启动了一个cmd程序,然后通过控制面板修改了环境变量设置,但是已经启动了的cmd所拥有的环境变量并不会被改变。如果我们在修改环境变量之后启动cmd程序,则该程序将拥有新的环境变量。
那么结论就很明显了:修改环境变量之后,如果受影响的是应用程序,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机;但是,如果受影响的是系统服务,就必须重新启动才能将环境变量的修改反映到系统服务中(因为没有办法在不重启计算机的情况下重新启动系统服务管理器)
其实只要理解了环境变量的原理就可以做出正确的判断。环境变量是一些系统变量,这些变量对运行的任意一个程序都有效。最简单的确认方法就是 cmd.exe 程序。单击“开始”->“运行”,然后输入 cmd,回车,在启动的命令行窗口中输入 set,之后就可以看到一大堆各种各样的环境变量显示在屏幕上。而修改环境变量则是通过“控制面板”->“系统”->“高级”->“环境变量”对话框进行的。
这里要理解的是,一个程序启动时,环境变量被复制到该程序所在的环境中,在该程序执行过程中不会被除该程序以外的其他程序所改变。也就是说,假设我们启动了一个cmd程序,然后通过控制面板修改了环境变量设置,但是已经启动了的cmd所拥有的环境变量并不会被改变。如果我们在修改环境变量之后启动cmd程序,则该程序将拥有新的环境变量。
那么结论就很明显了:修改环境变量之后,如果受影响的是应用程序,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机;但是,如果受影响的是系统服务,就必须重新启动才能将环境变量的修改反映到系统服务中(因为没有办法在不重启计算机的情况下重新启动系统服务管理器)