diff options
author | Tony Hansen <tony@att.com> | 2023-01-06 13:46:47 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2023-01-06 13:46:47 +0000 |
commit | aefdb1d11b1f36750438487fe1da85911acca4c6 (patch) | |
tree | 1654d20484dfa280781a89069d7920e6b617ccc8 /miss_htbt_service/mod/htbt_runtime_pid.py | |
parent | 7e3d845ca700895cc2dec9a5d3282c21860591d8 (diff) | |
parent | 341b5bb2347c30344662675936b90b325efe5520 (diff) |
Merge "Heartbeat code refactoring"
Diffstat (limited to 'miss_htbt_service/mod/htbt_runtime_pid.py')
-rw-r--r-- | miss_htbt_service/mod/htbt_runtime_pid.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/miss_htbt_service/mod/htbt_runtime_pid.py b/miss_htbt_service/mod/htbt_runtime_pid.py new file mode 100644 index 0000000..d086ed2 --- /dev/null +++ b/miss_htbt_service/mod/htbt_runtime_pid.py @@ -0,0 +1,82 @@ +# ============LICENSE_START======================================================= +# Copyright (c) 2017-2023 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= + +""" +htbt_runtime_pid maintains a 'PID file' (file that contains the +PID of currently running trap receiver) +""" + +__docformat__ = "restructuredtext" + +import os + +prog_name = os.path.basename(__file__) + + +# # # # # # # # # # # # # +# fx: save_pid - save PID of running process +# # # # # # # # # # # # # +def save_pid(_pid_file_name): + """ + Save the current process ID in a file for external + access. + :Parameters: + none + :Exceptions: + file open + this function will catch exception of unable to + open/create _pid_file_name + :Keywords: + pid /var/run + """ + + try: + pid_fd = open(_pid_file_name, "w") + pid_fd.write("%d" % os.getpid()) + pid_fd.close() + except IOError: + print("IOError saving PID file %s :" % _pid_file_name) + return False + else: + return True + + +# # # # # # # # # # # # # +# fx: rm_pid - remove PID of running process +# # # # # # # # # # # # # +def rm_pid(_pid_file_name): + """ + Remove the current process ID file before exiting. + :Parameters: + none + :Exceptions: + file open + this function will catch exception of unable to find or remove + _pid_file_name + :Keywords: + pid /var/run + """ + + try: + if os.path.isfile(_pid_file_name): + os.remove(_pid_file_name) + return True + else: + return False + + except IOError: + print("Error removing Runtime PID file: %s" % _pid_file_name) + return False |