X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=bin%2FaddToKillList.py;h=840763306d6ef3f6f220cc9792d0956cf4ca08bd;hb=e5ef0ddb7e1f5d308f03a3a7f3cba7a187a2ddaa;hp=7d688aca2d579a6ab7665b3c90102736895d0f75;hpb=919e03bfaf9191439ea73fa5781f44d13b69282c;p=modules%2Fkernel.git diff --git a/bin/addToKillList.py b/bin/addToKillList.py index 7d688aca2..840763306 100755 --- a/bin/addToKillList.py +++ b/bin/addToKillList.py @@ -1,6 +1,6 @@ -#! /usr/bin/env python +#! /usr/bin/env python3 # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE # # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -22,7 +22,7 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -import os, sys, pickle, string, signal +import os, sys, pickle, signal from launchConfigureParser import verbose ########## adds to the kill list of SALOME one more process ########## @@ -34,7 +34,7 @@ def findFileDict(): """ from salome_utils import getPortNumber port = getPortNumber() - if verbose(): print "myport = ", port + if verbose(): print("myport = ", port) return port def addToKillList(command_pid, command, port=None): @@ -50,17 +50,18 @@ def addToKillList(command_pid, command, port=None): from killSalomeWithPort import getPiDict if port is None: port=findFileDict() filedict = getPiDict(port) + #filedict = getPiDict(port).encode() try: - with open(filedict, 'r') as fpid: + with open(filedict, 'rb') as fpid: process_ids=pickle.load(fpid) - except: + except Exception: process_ids=[] pass # check if PID is already in dictionary already_in=False for process_id in process_ids: - for pid, cmd in process_id.items(): + for pid in process_id: if int(pid) == int(command_pid): already_in=True break @@ -71,17 +72,19 @@ def addToKillList(command_pid, command, port=None): # add process to the dictionary if not already_in: import types - if type(command) == types.ListType: command=" ".join([str(c) for c in command]) + if isinstance(command, list): command=" ".join([str(c) for c in command]) command=command.split()[0] try: - if verbose(): print "addToKillList: %s : %s" % ( str(command_pid), command ) + if verbose(): print("addToKillList: %s : %s" % ( str(command_pid), command )) process_ids.append({int(command_pid): [command]}) dir = os.path.dirname(filedict) - if not os.path.exists(dir): os.makedirs(dir, 0777) - with open(filedict,'w') as fpid: + if not os.path.exists(dir): + from salome_utils import makeDir + makeDir(dir) + with open(filedict,'wb') as fpid: pickle.dump(process_ids, fpid) - except: - if verbose(): print "addToKillList: can not add command %s : %s to the kill list" % ( str(command_pid), command ) + except Exception: + if verbose(): print("addToKillList: can not add command %s : %s to the kill list" % ( str(command_pid), command )) pass pass pass @@ -102,27 +105,30 @@ def killList(port=None): if not os.path.exists(filedict): filedict = getPiDict(port, hidden=False) try: - with open(filedict, 'r') as fpid: + with open(filedict, 'rb') as fpid: process_ids=pickle.load(fpid) - except: + except Exception: process_ids=[] pass # kill processes for process_id in process_ids: - #print process_id - for pid, cmd in process_id.items(): + # print(process_id) + for pid, cmd in list(process_id.items()): try: os.kill(int(pid),signal.SIGKILL) - except: - print " ------------------ process %s : %s inexistant"% (pid, cmd[0]) + except Exception: + print(" ------------------ process %s : %s inexistant"% (pid, cmd[0])) pass pass pass # remove processes dictionary file - os.remove(filedict) + if os.path.exists(filedict): + os.remove(filedict) pass if __name__ == "__main__": - if verbose(): print sys.argv + if verbose(): print(sys.argv[1:]) + if len(sys.argv) < 3: + sys.exit(-1) addToKillList(sys.argv[1], sys.argv[2]) pass