From 9b5ad9dd1f62ab67c0ee219823345ed456ddbf66 Mon Sep 17 00:00:00 2001 From: Alain Reguera Delgado Date: May 21 2011 17:14:51 +0000 Subject: Add cli_terminateScriptExecution.sh. --- diff --git a/Scripts/Functions/cli_terminateScriptExecution.sh b/Scripts/Functions/cli_terminateScriptExecution.sh new file mode 100755 index 0000000..41d479b --- /dev/null +++ b/Scripts/Functions/cli_terminateScriptExecution.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# +# cli_terminateScriptExecution.sh -- This function standardizes the +# actions that must be realized just before leaving the script +# execution (e.g., cleaning temporal files). This function is the one +# called when interruption signals like EXIT, SIGHUP, SIGINT and +# SIGTERM are detected. +# +# Copyright (C) 2009, 2010, 2011 The CentOS Project +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or (at +# your option) any later version. +# +# This program 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 +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# ---------------------------------------------------------------------- +# $Id$ +# ---------------------------------------------------------------------- + +function cli_terminateScriptExecution { + + # Build list of temporal files related to this script execution. + # Remember that inside `/tmp' directory there are files and + # directories you might have no access to (due permission + # restrictions), so command cli_getFilesList to look for files in + # the first level of files that you are owner of. Otherwise, + # undesired `permission denied' messages might be output. + local FILES=$(cli_getFilesList ${CLI_TEMPDIR} \ + --pattern="${CLI_PROGRAM}-${CLI_PROGRAM_ID}-.+" \ + --maxdepth="1" --uid="$(id -u)") + + # Remove list of temporal files related to this script execution, + # if any of course. Remember that some of the temporal files can + # be directories, too. + if [[ $FILES != '' ]];then + rm -rf $FILES + fi + +}