X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=bin%2FrunSalome.py;h=722629ad4694265738e3dee09443f937a813f01c;hb=7abfafb698042a8635b7cbf9d2347937f2036ba8;hp=e423d97bace04f6dc0413e9bb8f2f24260d70477;hpb=0060744285b6cbd9aa940412de13a99c5fc9e451;p=modules%2Fkernel.git diff --git a/bin/runSalome.py b/bin/runSalome.py index e423d97ba..722629ad4 100755 --- a/bin/runSalome.py +++ b/bin/runSalome.py @@ -1,10 +1,34 @@ #!/usr/bin/env python +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + import sys, os, string, glob, time, pickle import orbmodule process_id = {} +# salome_subdir variable is used for composing paths like $KERNEL_ROOT_DIR/share/salome/resources/kernel, etc. +# before moving to SUIT-based gui, instead of salome_subdir there was args['appname'] used. +# but after - 'appname' = "SalomeApp", so using it in making the subdirectory is an error. +salome_subdir = "salome" + # ----------------------------------------------------------------------------- def add_path(directory, variable_name): @@ -51,7 +75,9 @@ def get_config(): modules_list = [] if args.has_key("modules"): modules_list += args["modules"] - # KERNEL must be last in the list to locate it at the first place in PATH + # KERNEL must be last in the list to locate it at the first place in PATH + if args["gui"] : + modules_list[:0] = ["GUI"] modules_list[:0] = ["KERNEL"] modules_list.reverse() @@ -59,7 +85,7 @@ def get_config(): to_remove_list=[] for module in modules_list : - module_variable=module.upper()+"_ROOT_DIR" + module_variable=module+"_ROOT_DIR" if not os.environ.has_key(module_variable): print "*******************************************************" print "*" @@ -80,6 +106,10 @@ def get_config(): modules_list.remove("KERNEL") pass + while "GUI" in modules_list: + modules_list.remove("GUI") + pass + if "SUPERV" in modules_list and not 'superv' in args['standalone']: args['standalone'].append("superv") pass @@ -93,51 +123,48 @@ def set_env(args, modules_list, modules_root_dir): python_version="python%d.%d" % sys.version_info[0:2] modules_root_dir_list = [] + if args["gui"] : + modules_list = modules_list[:] + ["GUI"] modules_list = modules_list[:] + ["KERNEL"] for module in modules_list : - module_root_dir = modules_root_dir[module] - modules_root_dir_list[:0] = [module_root_dir] - add_path(os.path.join(module_root_dir,"lib",args['appname']), - "LD_LIBRARY_PATH") - add_path(os.path.join(module_root_dir,"bin",args['appname']), - "PATH") - if os.path.exists(module_root_dir + "/examples") : - add_path(os.path.join(module_root_dir,"examples"), + if modules_root_dir.has_key(module): + module_root_dir = modules_root_dir[module] + modules_root_dir_list[:0] = [module_root_dir] + add_path(os.path.join(module_root_dir,"lib",salome_subdir), + "LD_LIBRARY_PATH") + add_path(os.path.join(module_root_dir,"bin",salome_subdir), + "PATH") + if os.path.exists(module_root_dir + "/examples") : + add_path(os.path.join(module_root_dir,"examples"), + "PYTHONPATH") + pass + add_path(os.path.join(module_root_dir,"bin",salome_subdir), + "PYTHONPATH") + add_path(os.path.join(module_root_dir,"lib", + python_version,"site-packages", + salome_subdir), + "PYTHONPATH") + add_path(os.path.join(module_root_dir,"lib",salome_subdir), "PYTHONPATH") - add_path(os.path.join(module_root_dir,"bin",args['appname']), - "PYTHONPATH") - add_path(os.path.join(module_root_dir,"lib", - python_version,"site-packages",args['appname']), - "PYTHONPATH") - add_path(os.path.join(module_root_dir,"lib",args['appname']), - "PYTHONPATH") - add_path(os.path.join(module_root_dir,"lib", - python_version,"site-packages",args['appname'], - "shared_modules"), - "PYTHONPATH") + add_path(os.path.join(module_root_dir,"lib", + python_version,"site-packages", + salome_subdir, + "shared_modules"), + "PYTHONPATH") + pass + pass + os.environ["SALOMEPATH"]=":".join(modules_root_dir_list) - # special path for logger lib if needeed + # set trace environment variable - os.environ["SALOME_trace"]="local" + if not os.environ.has_key("SALOME_trace"): + os.environ["SALOME_trace"]="local" if args['file']: - os.environ["SALOME_trace"]=args['file'][0] + os.environ["SALOME_trace"]="file:"+args['file'][0] if args['logger']: os.environ["SALOME_trace"]="with_logger" - locdir=os.environ['PWD'] - libtracedir=os.path.join(locdir,"libSalomeTrace") - libtrace = os.path.join(modules_root_dir["KERNEL"],"lib", - args['appname'], - "libSALOMELoggerClient.so.0.0.0") - libtraceln = os.path.join(libtracedir,"libSALOMELocalTrace.so") - aCommand = 'rm -rf ' + libtracedir + "; " - aCommand += 'mkdir ' + libtracedir + "; " - aCommand += 'ln -s ' + libtrace + " " + libtraceln + "; " - aCommand += 'ln -s ' + libtrace + " " + libtraceln + ".0; " - aCommand += 'ln -s ' + libtrace + " " + libtraceln + ".0.0.0; " - os.system(aCommand) - add_path(libtracedir, "LD_LIBRARY_PATH") # set environment for SMESH plugins @@ -145,34 +172,65 @@ def set_env(args, modules_list, modules_root_dir): os.environ["SMESH_MeshersList"]="StdMeshers" if not os.environ.has_key("SALOME_StdMeshersResources"): os.environ["SALOME_StdMeshersResources"] \ - = modules_root_dir["SMESH"]+"/share/"+args["appname"]+"/resources" + = modules_root_dir["SMESH"]+"/share/"+args["appname"]+"/resources/smesh" pass if args.has_key("SMESH_plugins"): for plugin in args["SMESH_plugins"]: - if os.environ.has_key(plugin.upper()+"_ROOT_DIR"): + plugin_root = "" + if os.environ.has_key(plugin+"_ROOT_DIR"): + plugin_root = os.environ[plugin+"_ROOT_DIR"] + else: + # workaround to avoid modifications of existing environment + if os.environ.has_key(plugin.upper()+"_ROOT_DIR"): + plugin_root = os.environ[plugin.upper()+"_ROOT_DIR"] + pass + pass + if plugin_root != "": os.environ["SMESH_MeshersList"] \ = os.environ["SMESH_MeshersList"]+":"+plugin - plugin_root = os.environ[plugin.upper()+"_ROOT_DIR"] if not os.environ.has_key("SALOME_"+plugin+"Resources"): os.environ["SALOME_"+plugin+"Resources"] \ - = plugin_root+"/share/"+args["appname"]+"/resources" + = plugin_root+"/share/"+args["appname"]+"/resources/"+plugin.lower() add_path(os.path.join(plugin_root,"lib",python_version, - "site-packages",args['appname']), + "site-packages",salome_subdir), "PYTHONPATH") - add_path(os.path.join(plugin_root,"lib",args['appname']), + add_path(os.path.join(plugin_root,"lib",salome_subdir), "PYTHONPATH") - add_path(os.path.join(plugin_root,"lib",args['appname']), + add_path(os.path.join(plugin_root,"lib",salome_subdir), "LD_LIBRARY_PATH") - add_path(os.path.join(plugin_root,"bin",args['appname']), + add_path(os.path.join(plugin_root,"bin",salome_subdir), "PYTHONPATH") - add_path(os.path.join(plugin_root,"bin",args['appname']), + add_path(os.path.join(plugin_root,"bin",salome_subdir), "PATH") pass pass # set environment for SUPERV module os.environ["ENABLE_MACRO_NODE"]="1" - + # set resources variables if not yet set + # Done now by launchConfigureParser.py + #if os.getenv("GUI_ROOT_DIR"): + #if not os.getenv("SalomeAppConfig"): os.environ["SalomeAppConfig"] = os.getenv("GUI_ROOT_DIR") + "/share/salome/resources/gui" + + # set CSF_PluginDefaults variable only if it is not customized + # by the user + if not os.getenv("CSF_PluginDefaults"): + os.environ["CSF_PluginDefaults"] \ + = os.path.join(modules_root_dir["KERNEL"],"share", + salome_subdir,"resources","kernel") + os.environ["CSF_SALOMEDS_ResourcesDefaults"] \ + = os.path.join(modules_root_dir["KERNEL"],"share", + salome_subdir,"resources","kernel") + + if "GEOM" in modules_list: + print "GEOM OCAF Resources" + os.environ["CSF_GEOMDS_ResourcesDefaults"] \ + = os.path.join(modules_root_dir["GEOM"],"share", + salome_subdir,"resources","geom") + print "GEOM Shape Healing Resources" + os.environ["CSF_ShHealingDefaults"] \ + = os.path.join(modules_root_dir["GEOM"],"share", + salome_subdir,"resources","geom") # ----------------------------------------------------------------------------- @@ -222,13 +280,14 @@ def kill_salome(args): # ----------------------------------------------------------------------------- # -# Définition des classes d'objets pour le lancement des Server CORBA +# Definition des classes d'objets pour le lancement des Server CORBA # class Server: """Generic class for CORBA server launch""" def initArgs(self): + self.PID=None self.CMD=[] self.ARGS=[] if self.args['xterm']: @@ -248,9 +307,10 @@ class Server: + os.getenv("LD_LIBRARY_PATH")] myargs = myargs +['-T']+self.CMD[:1]+['-e'] + env_ld_library_path command = myargs + self.CMD - # print "command = ", command + print "command = ", command pid = os.spawnvp(os.P_NOWAIT, command[0], command) process_id[pid]=self.CMD + self.PID = pid class InterpServer(Server): @@ -263,9 +323,10 @@ class InterpServer(Server): def run(self): global process_id command = self.CMD - print "command = ", command + #print "command = ", command pid = os.spawnvp(os.P_NOWAIT, command[0], command) process_id[pid]=self.CMD + self.PID = pid # --- @@ -274,21 +335,41 @@ class CatalogServer(Server): self.args=args self.initArgs() self.SCMD1=['SALOME_ModuleCatalog_Server','-common'] - self.SCMD2=['-personal', - '${HOME}/Salome/resources/CatalogModulePersonnel.xml'] + self.SCMD2=[] + home_dir=os.getenv('HOME') + if home_dir is not None: + self.SCMD2=['-personal',os.path.join(home_dir,'Salome/resources/CatalogModulePersonnel.xml')] def setpath(self,modules_list,modules_root_dir): cata_path=[] list_modules = modules_list[:] list_modules.reverse() - for module in ["KERNEL"] + list_modules: - module_root_dir=modules_root_dir[module] - module_cata=module+"Catalog.xml" - print " ", module_cata - cata_path.extend( - glob.glob(os.path.join(module_root_dir, - "share",self.args['appname'], - "resources",module_cata))) + if self.args["gui"] : + list_modules = ["KERNEL", "GUI"] + list_modules + else : + list_modules = ["KERNEL"] + list_modules + for module in list_modules: + if modules_root_dir.has_key(module): + module_root_dir=modules_root_dir[module] + module_cata=module+"Catalog.xml" + #print " ", module_cata + if os.path.exists(os.path.join(module_root_dir, + "share",salome_subdir, + "resources",module.lower(), + module_cata)): + cata_path.extend( + glob.glob(os.path.join(module_root_dir, + "share",salome_subdir, + "resources",module.lower(), + module_cata))) + else: + cata_path.extend( + glob.glob(os.path.join(module_root_dir, + "share",salome_subdir, + "resources", + module_cata))) + pass + pass self.CMD=self.SCMD1 + [string.join(cata_path,':')] + self.SCMD2 # --- @@ -341,29 +422,12 @@ class LoggerServer(Server): # --- -class SessionLoader(Server): - def __init__(self,args): - self.args=args - self.initArgs() - self.CMD=['SALOME_Session_Loader'] - if "cppContainer" in self.args['standalone'] \ - or "cppContainer" in self.args['embedded']: - self.CMD=self.CMD+['CPP'] - if "pyContainer" in self.args['standalone'] \ - or "pyContainer" in self.args['embedded']: - self.CMD=self.CMD+['PY'] - if "supervContainer" in self.args['containers'] \ - or "supervContainer" in self.args['standalone']: - self.CMD=self.CMD+['SUPERV'] - if self.args['gui']: - self.CMD=self.CMD+['GUI'] - print self.CMD - -# --- - class SessionServer(Server): def __init__(self,args): - self.args=args + self.args = args.copy() + # Bug 11512 (Problems with runSalome --xterm on Mandrake and Debian Sarge) + self.args['xterm']=0 + # self.initArgs() self.SCMD1=['SALOME_Session_Server'] self.SCMD2=[] @@ -372,43 +436,118 @@ class SessionServer(Server): '(','--salome_session','theSession',')'] if 'moduleCatalog' in self.args['embedded']: self.SCMD1+=['--with','ModuleCatalog','(','-common'] - self.SCMD2+=['-personal', - '${HOME}/Salome/resources/CatalogModulePersonnel.xml',')'] + home_dir=os.getenv('HOME') + if home_dir is not None: + self.SCMD2+=['-personal',os.path.join(home_dir,'Salome/resources/CatalogModulePersonnel.xml')] + self.SCMD2+=[')'] if 'study' in self.args['embedded']: self.SCMD2+=['--with','SALOMEDS','(',')'] if 'cppContainer' in self.args['embedded']: self.SCMD2+=['--with','Container','(','FactoryServer',')'] + if 'SalomeAppEngine' in self.args['embedded']: + self.SCMD2+=['--with','SalomeAppEngine','(',')'] + + if 'cppContainer' in self.args['standalone'] or 'cppContainer' in self.args['embedded']: + self.SCMD2+=['CPP'] + if 'pyContainer' in self.args['standalone'] or 'pyContainer' in self.args['embedded']: + self.SCMD2+=['PY'] + if 'supervContainer' in self.args['containers'] or 'supervContainer' in self.args['standalone']: + self.SCMD2+=['SUPERV'] + if self.args['gui']: + self.SCMD2+=['GUI'] + if self.args['splash'] and self.args['gui']: + self.SCMD2+=['SPLASH'] + if self.args['noexcepthandler']: + self.SCMD2+=['noexcepthandler'] + if self.args.has_key('modules'): + self.SCMD2+=['--modules ('] + for mod in self.args['modules']: + self.SCMD2+=[mod + ':'] + self.SCMD2+=[')'] def setpath(self,modules_list,modules_root_dir): cata_path=[] list_modules = modules_list[:] list_modules.reverse() - for module in ["KERNEL"] + list_modules: + if self.args["gui"] : + list_modules = ["KERNEL", "GUI"] + list_modules + else : + list_modules = ["KERNEL"] + list_modules + for module in list_modules: module_root_dir=modules_root_dir[module] module_cata=module+"Catalog.xml" - print " ", module_cata - cata_path.extend( - glob.glob(os.path.join(module_root_dir,"share", - self.args['appname'],"resources", - module_cata))) - if 'moduleCatalog' in self.args['embedded']: + #print " ", module_cata + if os.path.exists(os.path.join(module_root_dir, + "share",salome_subdir, + "resources",module.lower(), + module_cata)): + cata_path.extend( + glob.glob(os.path.join(module_root_dir,"share", + salome_subdir,"resources", + module.lower(),module_cata))) + else: + cata_path.extend( + glob.glob(os.path.join(module_root_dir,"share", + salome_subdir,"resources", + module_cata))) + pass + if (self.args["gui"]) & ('moduleCatalog' in self.args['embedded']): self.CMD=self.SCMD1 + [string.join(cata_path,':')] + self.SCMD2 else: self.CMD=self.SCMD1 + self.SCMD2 - -## # arguments SALOME_Session_Server pour ddd -## comm_ddd="" -## for mot in self.CMD: -## if mot == "(": -## comm_ddd+='"(" ' -## elif mot == ")": -## comm_ddd+='")" ' -## else: -## comm_ddd+=mot+" " -## print comm_ddd # --- +class ContainerManagerServer(Server): + def __init__(self,args): + self.args=args + self.initArgs() + self.SCMD1=['SALOME_ContainerManagerServer'] + self.SCMD2=[] + if args["gui"] : + if 'registry' in self.args['embedded']: + self.SCMD1+=['--with','Registry', + '(','--salome_session','theSession',')'] + if 'moduleCatalog' in self.args['embedded']: + self.SCMD1+=['--with','ModuleCatalog','(','-common'] + self.SCMD2+=['-personal', + '${HOME}/Salome/resources/CatalogModulePersonnel.xml',')'] + if 'study' in self.args['embedded']: + self.SCMD2+=['--with','SALOMEDS','(',')'] + if 'cppContainer' in self.args['embedded']: + self.SCMD2+=['--with','Container','(','FactoryServer',')'] + + def setpath(self,modules_list,modules_root_dir): + cata_path=[] + list_modules = modules_list[:] + list_modules.reverse() + if self.args["gui"] : + list_modules = ["GUI"] + list_modules + for module in ["KERNEL"] + list_modules: + if modules_root_dir.has_key(module): + module_root_dir=modules_root_dir[module] + module_cata=module+"Catalog.xml" + #print " ", module_cata + if os.path.exists(os.path.join(module_root_dir, + "share",salome_subdir, + "resources",module.lower(), + module_cata)): + cata_path.extend( + glob.glob(os.path.join(module_root_dir,"share", + self.args['appname'],"resources", + module.lower(),module_cata))) + else: + cata_path.extend( + glob.glob(os.path.join(module_root_dir,"share", + self.args['appname'],"resources", + module_cata))) + pass + pass + if (self.args["gui"]) & ('moduleCatalog' in self.args['embedded']): + self.CMD=self.SCMD1 + [string.join(cata_path,':')] + self.SCMD2 + else: + self.CMD=self.SCMD1 + self.SCMD2 + class NotifyServer(Server): def __init__(self,args,modules_root_dir): self.args=args @@ -416,7 +555,7 @@ class NotifyServer(Server): self.modules_root_dir=modules_root_dir myLogName = os.environ["LOGNAME"] self.CMD=['notifd','-c', - self.modules_root_dir["KERNEL"] +'/share/salome/resources/channel.cfg', + self.modules_root_dir["KERNEL"] +'/share/salome/resources/kernel/channel.cfg', '-DFactoryIORFileName=/tmp/'+myLogName+'_rdifact.ior', '-DChannelIORFileName=/tmp/'+myLogName+'_rdichan.ior', '-DReportLogFile=/tmp/'+myLogName+'_notifd.report', @@ -428,7 +567,14 @@ class NotifyServer(Server): def startGUI(): """Salome Session Graphic User Interface activation""" + import Engines import SALOME + import SALOMEDS + import SALOME_ModuleCatalog + reload(Engines) + reload(SALOME) + reload(SALOMEDS) + import SALOME_Session_idl session=clt.waitNS("/Kernel/Session",SALOME.Session) session.GetInterface() @@ -438,16 +584,8 @@ def startSalome(args, modules_list, modules_root_dir): """Launch all SALOME servers requested by args""" init_time = os.times() - # - # Lancement Session Loader - # - print "startSalome ", args - if args['gui']: - myServer=SessionLoader(args) - myServer.run() - # # Initialisation ORB et Naming Service # @@ -471,72 +609,57 @@ def startSalome(args, modules_list, modules_root_dir): myServer=NotifyServer(args,modules_root_dir) myServer.run() + # Lancement Session Server (to show splash ASAP) + # + + if args["gui"]: + mySessionServ = SessionServer(args) + mySessionServ.setpath(modules_list,modules_root_dir) + mySessionServ.run() + # # Lancement Registry Server, - # attente de la disponibilité du Registry dans le Naming Service + # attente de la disponibilite du Registry dans le Naming Service # - if 'registry' not in args['embedded']: + if ('registry' not in args['embedded']) | (args["gui"] == 0) : myServer=RegistryServer(args) myServer.run() - clt.waitNS("/Registry") + clt.waitNSPID("/Registry",myServer.PID) # # Lancement Catalog Server, - # attente de la disponibilité du Catalog Server dans le Naming Service + # attente de la disponibilite du Catalog Server dans le Naming Service # - if 'moduleCatalog' not in args['embedded']: + if ('moduleCatalog' not in args['embedded']) | (args["gui"] == 0): cataServer=CatalogServer(args) cataServer.setpath(modules_list,modules_root_dir) cataServer.run() import SALOME_ModuleCatalog - clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog) + clt.waitNSPID("/Kernel/ModulCatalog",cataServer.PID,SALOME_ModuleCatalog.ModuleCatalog) # # Lancement SalomeDS Server, - # attente de la disponibilité du SalomeDS dans le Naming Service + # attente de la disponibilite du SalomeDS dans le Naming Service # - os.environ["CSF_PluginDefaults"] \ - = os.path.join(modules_root_dir["KERNEL"],"share", - args['appname'],"resources") - os.environ["CSF_SALOMEDS_ResourcesDefaults"] \ - = os.path.join(modules_root_dir["KERNEL"],"share", - args['appname'],"resources") - - if "GEOM" in modules_list: - print "GEOM OCAF Resources" - os.environ["CSF_GEOMDS_ResourcesDefaults"] \ - = os.path.join(modules_root_dir["GEOM"],"share", - args['appname'],"resources") - print "GEOM Shape Healing Resources" - os.environ["CSF_ShHealingDefaults"] \ - = os.path.join(modules_root_dir["GEOM"],"share", - args['appname'],"resources") - - if 'study' not in args['embedded']: + #print "ARGS = ",args + if ('study' not in args['embedded']) | (args["gui"] == 0): + print "RunStudy" myServer=SalomeDSServer(args) myServer.run() - clt.waitNS("/myStudyManager") + clt.waitNSPID("/myStudyManager",myServer.PID) # - # Lancement Session Server + # Lancement ContainerManagerServer # + + myCmServer = ContainerManagerServer(args) + myCmServer.setpath(modules_list,modules_root_dir) + myCmServer.run() - mySessionServ = SessionServer(args) - mySessionServ.setpath(modules_list,modules_root_dir) - mySessionServ.run() - - #macomm2=['ddd'] - #pid = os.spawnvp(os.P_NOWAIT, macomm2[0], macomm2) - # - # Attente de la disponibilité du Session Server dans le Naming Service - # - - import SALOME - session=clt.waitNS("/Kernel/Session",SALOME.Session) from Utils_Identity import getShortHostName @@ -550,41 +673,61 @@ def startSalome(args, modules_list, modules_root_dir): # # Lancement Container C++ local, - # attente de la disponibilité du Container C++ local dans le Naming Service + # attente de la disponibilite du Container C++ local dans le Naming Service # if 'cppContainer' in args['standalone']: myServer=ContainerCPPServer(args) myServer.run() - clt.waitNS("/Containers/" + theComputer + "/FactoryServer") + clt.waitNSPID("/Containers/" + theComputer + "/FactoryServer",myServer.PID) # # Lancement Container Python local, - # attente de la disponibilité du Container Python local + # attente de la disponibilite du Container Python local # dans le Naming Service # if 'pyContainer' in args['standalone']: myServer=ContainerPYServer(args) myServer.run() - clt.waitNS("/Containers/" + theComputer + "/FactoryServerPy") + clt.waitNSPID("/Containers/" + theComputer + "/FactoryServerPy",myServer.PID) # # Lancement Container Supervision local, - # attente de la disponibilité du Container Supervision local + # attente de la disponibilite du Container Supervision local # dans le Naming Service # if 'supervContainer' in args['standalone']: myServer=ContainerSUPERVServer(args) myServer.run() - clt.waitNS("/Containers/" + theComputer + "/SuperVisionContainer") + clt.waitNSPID("/Containers/" + theComputer + "/SuperVisionContainer",myServer.PID) + + # + # Attente de la disponibilite du Session Server dans le Naming Service + # + + if args["gui"]: +##---------------- + import Engines + import SALOME + import SALOMEDS + import SALOME_ModuleCatalog + reload(Engines) + reload(SALOME) + reload(SALOMEDS) + import SALOME_Session_idl + session=clt.waitNSPID("/Kernel/Session",mySessionServ.PID,SALOME.Session) end_time = os.times() print print "Start SALOME, elapsed time : %5.1f seconds"% (end_time[4] - init_time[4]) + # ASV start GUI without Loader + #if args['gui']: + # session.GetInterface() + # # additionnal external python interpreters # @@ -630,10 +773,10 @@ def useSalome(args, modules_list, modules_root_dir): print "--- erreur au lancement Salome ---" #print process_id - - filedict = '/tmp/' + os.getenv('USER') + "_" + str(args['port']) \ - + '_' + args['appname'].upper() + '_pidict' - + + from killSalomeWithPort import getPiDict + filedict = getPiDict(args['port']) + process_ids = [] try: fpid=open(filedict, 'r')