# Run this module as a script, in order to use appropriate Python interpreter
# according to current path (initialized from environment files).
absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH','')
- proc = subprocess.Popen(['python', absoluteAppliPath+'/bin/salome/salomeRunner.py', pickle.dumps(self), pickle.dumps(args)], shell=False, close_fds=True)
- proc.wait()
+ proc = subprocess.Popen(['python', os.path.join(absoluteAppliPath,"bin","salome","salomeRunner.py"), pickle.dumps(self), pickle.dumps(args)], shell=False, close_fds=True)
+ proc.communicate()
#
"""Append value to PATH environment variable"""
scriptArgs = getScriptsAndArgs(args)
command = formatScriptsAndArgs(scriptArgs)
if command:
- proc = subprocess.Popen(command, shell=True, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ command = command.split(' ')
+ proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return proc.communicate()
else:
absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH','')
#
def _killAll(self, args=[]):
- from killSalome import killAllPorts
- killAllPorts()
+ absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH','')
+ try:
+ import PortManager # mandatory
+ from multiprocessing import Process
+ from killSalomeWithPort import killMyPort
+ ports = PortManager.getBusyPorts()
+
+ if ports:
+ import tempfile
+ for port in ports:
+ with tempfile.NamedTemporaryFile():
+ p = Process(target = killMyPort, args=(port,))
+ p.start()
+ p.join()
+
+ p = Process(target = killMyPort, args=(2809,))
+ p.start()
+ p.join()
+ except ImportError:
+ from killSalome import killAllPorts
+ killAllPorts()
+ pass
+
#
def _showInfo(self, args=[]):