X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=bin%2FrunSalome.py;h=172298f984413af787eb7b8aa69b5abac9e276ef;hb=a896fba3e95e73b50c720e51723f2990074018c6;hp=b4fc7270f7634d38549f529798fe2d33d33209f3;hpb=24f3cfecf4daa461a2fa6a007ab3a0f9b991400f;p=modules%2Fkernel.git diff --git a/bin/runSalome.py b/bin/runSalome.py index b4fc7270f..172298f98 100755 --- a/bin/runSalome.py +++ b/bin/runSalome.py @@ -34,6 +34,7 @@ from server import process_id, Server import json import subprocess from salomeContextUtils import ScriptAndArgsObjectEncoder +import platform # ----------------------------------------------------------------------------- @@ -271,6 +272,11 @@ class SessionServer(Server): # self.initArgs() self.SCMD1=['SALOME_Session_Server'] + if "SQUISH_PREFIX" in os.environ: + if platform.system() == "Windows" : + self.SCMD1 = [os.path.join(os.getenv("SQUISH_PREFIX"), "bin", "dllpreload.exe"),os.path.join(os.getenv("SQUISH_SALOME_PATH"), "W64", "GUI", "bin", "salome", self.SCMD1[0])] + else : + os.environ["LD_LIBRARY_PATH"] = os.environ["SQUISH_PREFIX"] + "/lib:" + os.environ["LD_LIBRARY_PATH"] self.SCMD2=[] if 'launcher' in self.args: pos = args['launcher'].find(":") @@ -474,6 +480,7 @@ def startSalome(args, modules_list, modules_root_dir): # clt=orbmodule.client(args) + addToPidict(args) # # Wake up session option @@ -513,6 +520,7 @@ def startSalome(args, modules_list, modules_root_dir): myServer=LoggerServer(args) myServer.run() clt.waitLogger("Logger") + addToPidict(args) # Launch Session Server (to show splash ASAP) # @@ -521,6 +529,7 @@ def startSalome(args, modules_list, modules_root_dir): mySessionServ = SessionServer(args,args['modules'],modules_root_dir) mySessionServ.setpath(modules_list,modules_root_dir) mySessionServ.run() + addToPidict(args) # # Launch Registry Server, @@ -534,6 +543,7 @@ def startSalome(args, modules_list, modules_root_dir): clt.waitNS("/Registry") else: clt.waitNSPID("/Registry",myServer.PID) + addToPidict(args) # # Launch Catalog Server, @@ -549,6 +559,7 @@ def startSalome(args, modules_list, modules_root_dir): clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog) else: clt.waitNSPID("/Kernel/ModulCatalog",cataServer.PID,SALOME_ModuleCatalog.ModuleCatalog) + addToPidict(args) # # Launch SalomeDS Server, @@ -564,6 +575,7 @@ def startSalome(args, modules_list, modules_root_dir): clt.waitNS("/Study") else: clt.waitNSPID("/Study",myServer.PID) + addToPidict(args) # # Launch LauncherServer @@ -573,6 +585,7 @@ def startSalome(args, modules_list, modules_root_dir): myCmServer = LauncherServer(args) myCmServer.setpath(modules_list,modules_root_dir) myCmServer.run() + addToPidict(args) # # Launch ConnectionManagerServer @@ -604,6 +617,7 @@ def startSalome(args, modules_list, modules_root_dir): clt.waitNS("/Containers/" + theComputer + "/FactoryServer") else: clt.waitNSPID("/Containers/" + theComputer + "/FactoryServer",myServer.PID) + addToPidict(args) if 'pyContainer' in args['standalone']: raise Exception('Python containers no longer supported') @@ -799,6 +813,14 @@ def no_main(): # ----------------------------------------------------------------------------- +def addToPidict(args): + global process_id + from addToKillList import addToKillList + for pid, cmd in list(process_id.items()): + addToKillList(pid, cmd, args['port']) + +# ----------------------------------------------------------------------------- + def main(exeName=None): """Salome launch as a main application""" @@ -849,10 +871,12 @@ def foreGround(clt, args): dt = 0.1 nbtot = 100 nb = 0 + session_pid = None while 1: try: status = session.GetStatSession() gui_detected = status.activeGUI + session_pid = session.getPID() except: pass if gui_detected: @@ -872,9 +896,9 @@ def foreGround(clt, args): # -- server = Server({}) if sys.platform == "win32": - server.CMD = [os.getenv("PYTHONBIN"), "-m", "killSalomeWithPort", "--spy", "%s"%(os.getpid()), "%s"%(port)] + server.CMD = [os.getenv("PYTHONBIN"), "-m", "killSalomeWithPort", "--spy", "%s"%(session_pid or os.getpid()), "%s"%(port)] else: - server.CMD = ["killSalomeWithPort.py", "--spy", "%s"%(os.getpid()), "%s"%(port)] + server.CMD = ["killSalomeWithPort.py", "--spy", "%s"%(session_pid or os.getpid()), "%s"%(port)] server.run() # os.system("killSalomeWithPort.py --spy %s %s &"%(os.getpid(), port)) # -- @@ -916,7 +940,7 @@ def runSalome(): except: pass # -- - test = test and os.getenv("SALOME_TEST_MODE", "0") != "1" +# test = test and os.getenv("SALOME_TEST_MODE", "0") != "1" test = test and args['foreground'] # -- if test: