-#! /usr/bin/env python
+#! /usr/bin/env python3
# -*- coding: iso-8859-1 -*-
# Copyright (C) 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
#
# \endcode
#
-import os, sys, pickle, signal, commands,glob
+import os, sys, pickle, signal, subprocess,glob
import subprocess
import shlex
from salome_utils import verbose
the last is removed only if the link points to the first file.
"""
if verbose():
- print "clean OmniOrb config for port %s"%port
+ print("clean OmniOrb config for port %s"%port)
from salome_utils import generateFileName, getUserName
omniorbUserPath = os.getenv("OMNIORB_USER_PATH")
# shutdown all
orb = CORBA.ORB_init([''], CORBA.ORB_ID)
lcc = LifeCycleCORBA(orb) # see (1)
- print "Terminating SALOME on port %s..."%(port)
+ print("Terminating SALOME on port %s..."%(port))
lcc.shutdownServers()
# give some time to shutdown to complete
time.sleep(1)
sys.exit(0) # see (1)
pass
# (1) If --shutdown-servers option is set to 1, session close procedure is
-# called twice: first explicitely by salome command, second by automatic
+# called twice: first explicitly by salome command, second by automatic
# atexit to handle Ctrl-C. During second call, LCC does not exist anymore and
-# a RuntimeError is raised; we explicitely exit this function with code 0 to
+# a RuntimeError is raised; we explicitly exit this function with code 0 to
# prevent parent thread from crashing.
def __killMyPort(port, filedict):
port = int(port)
try:
- with open(filedict, 'r') as fpid:
+ with open(filedict, 'rb') as fpid:
process_ids=pickle.load(fpid)
for process_id in process_ids:
- for pid, cmd in process_id.items():
- if verbose(): print "stop process %s : %s"% (pid, cmd[0])
+ for pid, cmd in list(process_id.items()):
+ if verbose(): print("stop process %s : %s"% (pid, cmd[0]))
try:
from salome_utils import killpid
killpid(int(pid))
except:
- if verbose(): print " ------------------ process %s : %s not found"% (pid, cmd[0])
+ if verbose(): print(" ------------------ process %s : %s not found"% (pid, cmd[0]))
pass
pass # for pid ...
pass # for process_id ...
# end with
except:
- print "Cannot find or open SALOME PIDs file for port", port
+ print("Cannot find or open SALOME PIDs file for port", port)
pass
os.remove(filedict)
pass
log_msg += " ... not found\n"
if verbose():
- print log_msg
+ print(log_msg)
return filedict
#
filedict = getPiDict(port)
if not os.path.isfile(filedict): # removed by previous call, see (1)
if verbose():
- print "SALOME on port %s: already removed by previous call"%port
+ print("SALOME on port %s: already removed by previous call"%port)
# Remove port from PortManager config file
try:
from PortManager import releasePort
if verbose():
- print "Removing port from PortManager configuration file"
+ print("Removing port from PortManager configuration file")
releasePort(port)
except ImportError:
pass
if __name__ == "__main__":
if len(sys.argv) < 2:
- print "Usage: "
- print " %s <port>" % os.path.basename(sys.argv[0])
- print
- print "Kills SALOME session running on specified <port>."
+ print("Usage: ")
+ print(" %s <port>" % os.path.basename(sys.argv[0]))
+ print()
+ print("Kills SALOME session running on specified <port>.")
sys.exit(1)
pass
if sys.argv[1] == "--spy":
try:
from salomeContextUtils import setOmniOrbUserPath #@UnresolvedImport
setOmniOrbUserPath()
- except Exception, e:
- print e
+ except Exception as e:
+ print(e)
sys.exit(1)
for port in sys.argv[1:]:
killMyPort(port)