# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
"""
Get user name:
1. try USER environment variable (USERNAME on windows)
- 2. if fails, return 'unknown' as default user name
+ 2. if fails, try LOGNAME (un*x)
+ 3. if fails return 'unknown' as default user name
"""
import os, sys
if sys.platform == "win32":
return os.getenv("USERNAME", "unknown")
else:
- return os.getenv("USER", "unknown")
+ user = os.getenv("USER")
+ if user:
+ return user
+ return os.getenv("LOGNAME", "unknown")
# ---
def getHostName():
global _verbose
_verbose = level
return
+
+# --
+
+def win32killpid(pid):
+ """
+ Kill process by pid on windows platform.
+ """
+ if verbose(): print "######## win32killpid pid = ", pid
+ import ctypes
+ handle = ctypes.windll.kernel32.OpenProcess(1, False, pid)
+ ret = ctypes.windll.kernel32.TerminateProcess(handle, -1)
+ ctypes.windll.kernel32.CloseHandle(handle)
+ return ret
# --