Salome HOME
Fix regression: killSalomeWithPort does not kill sessions of the old versions of...
[modules/kernel.git] / bin / killSalomeWithPort.py
index 4e1cbbd4f9324cf659193b4db88384a0e9de0728..59c977a333b5f60e79560bff60b62de8abe3d606 100755 (executable)
@@ -36,7 +36,7 @@ from launchConfigureParser import verbose
 import Utils_Identity
 import salome_utils
 
-def getPiDict(port,appname='salome',full=True,hidden=True):
+def getPiDict(port,appname='salome',full=True,hidden=True,hostname=None):
     """
     Get file with list of SALOME processes.
     This file is located in the user's home directory
@@ -53,8 +53,9 @@ def getPiDict(port,appname='salome',full=True,hidden=True):
     - hidden  : if True, file name is prefixed with . (dot) symbol; this internal parameter is used
     to support compatibility with older versions of SALOME
     """
-    from salome_utils import generateFileName, getTmpDir
-    dir = ""
+    from salome_utils import generateFileName, getTmpDir, getHostName
+    if not hostname:
+        hostname = os.getenv("NSHOST") or getHostName()
     if full:
         # full path to the pidict file is requested
         if hidden:
@@ -71,7 +72,7 @@ def getPiDict(port,appname='salome',full=True,hidden=True):
                             suffix="pidict",
                             hidden=hidden,
                             with_username=True,
-                            with_hostname=True,
+                            with_hostname=hostname,
                             with_port=port,
                             with_app=appname.upper())
 
@@ -113,6 +114,8 @@ def appliCleanOmniOrbConfig(port):
             os.remove(omniorb_config)
             pass
 
+        if os.path.lexists(last_running_config):return 
+
         #try to relink last.cfg to an existing config file if any
         files = glob.glob(os.path.join(os.environ["HOME"],Utils_Identity.getapplipath(),
                                        "USERS",".omniORB_"+salome_utils.getUserName()+"_*.cfg"))
@@ -137,16 +140,26 @@ def killMyPort(port):
     Parameters:
     - port - port number
     """
+    from salome_utils import getShortHostName
     # new-style dot-prefixed pidict file
     filedict = getPiDict(port, hidden=True)
     # provide compatibility with old-style pidict file (not dot-prefixed)
     if not os.path.exists(filedict): filedict = getPiDict(port, hidden=False)
+    # provide compatibility with old-style pidict file (shost hostname)
+    if not os.path.exists(filedict): filedict = getPiDict(port, hidden=True,  hostname=getShortHostName())
+    # provide compatibility with old-style pidict file (not dot-prefixed, shost hostname)
+    if not os.path.exists(filedict): filedict = getPiDict(port, hidden=False, hostname=getShortHostName())
     #
     try:
         fpid = open(filedict, 'r')
         #
         from salome_utils import generateFileName
-        fpidomniNames = generateFileName(os.path.join('/tmp/logs', os.getenv('USER')),
+        if sys.platform == "win32":
+            username = os.getenv( "USERNAME" )
+        else:
+            username = os.getenv('USER')
+        path = os.path.join('/tmp/logs', username)
+        fpidomniNames = generateFileName(path,
                                          prefix="",
                                          suffix="Pid_omniNames",
                                          extension="log",