This is a serious answer to your question
"this line outputs to the end user the command window with ping results which closes after 2 seconds. Is there a way to hide it?"
Yes there is,
however a call to cmd is a call to run a console, thus a console by definition must be accessible and generally visible to the console user.
So the Option is given to minimise the in your face black screen, its a shame that the old ansi waiting... screen art died out with faster computers.
So replace your
PingServer = subprocess.call('ping /n 2 /w 1000 ' + SERVER_IP +'')
with something like
PingServer = subprocess.call('start "PingingServer" /min ping /n 2 /w 1000 ' + SERVER_IP +'', shell=True)
NOTE:- I have not tested how that would work in different applications "Calling" methods so the " quotes may need escaping in different ways
such as start \"PingingServer\" /min ...
or start '+ TITLE_MSG +' /min ...
And a user would only see the brief notification hidden in the taskbar.
Here ignore the background console that's me testing out this answer, I have intentionally expanded the task bar icon, to show the worst a user would see is that icon, and by the time they tried clicking the 2 second self destruct would have kicked in.
