On 2018-02-19 09:57, Sum J wrote:
> Hi,
> I am using below python code (Python 2.7) to reset the proxy of my Ubuntu
> (Cent OS 6) system, but I am unable to reset the proxy:

I'm sure you know this, but CentOS and Ubuntu are two different things.

> Code :
> import os
>          print "Unsetting http..."
>          os.system("unset http_proxy")
>          os.system("echo $http_proxy")
>          print "http is reset"

Please pay attention to indentation when pasting Python code. I know
what you mean, but as such this code wouldn't even run.

> Output :
>         Unsetting http...
>         http://web-proxy.xxxx.xxxxxxx.net:8080
>         http is reset
> Process finished with exit code 0
> It should not return ' http://web-proxy.xxxx.xxxxxxx.net:8080 ' in output.
> I run the same unset command  from terminal , then I see that proxy is
> reset:
> [trex@sumlnxvm ~]$ unset $HTTP_PROXY
> [trex@sumlnxvm ~]$ echo $HTTP_PROXY

It is not possible to modify a parent process's environment from within
a child process. Can I interest you in a shell function or alias?

If you want to remove the environment variable for future processes you
start from your python script, simply modify os.environ. For example:
(using an environment variable I actually have on my system)

% cat del_env.py
import os

os.system('echo desktop $XDG_SESSION_DESKTOP')
del os.environ['XDG_SESSION_DESKTOP']
os.system('echo desktop $XDG_SESSION_DESKTOP')

% python del_env.py
desktop gnome


-- Thomas

> [trex@sumlnxvm ~]$
> Please suggest how to reset system proxy using Python Code
> Regards,
> Sumit


Reply via email to