fix: move the check_by_signal to util

pull/1933/head
luhaoling 2 years ago
parent 93f2034572
commit d423fca10b

@ -445,6 +445,32 @@ openim::util::check_ports_by_signal() {
fi fi
} }
function openim::util::check_by_signal() {
PIDS=$(pgrep -f "${OPENIM_OUTPUT_HOSTBIN}/openim-msgtransfer") || PIDS="0"
if [ "$PIDS" = "0" ]; then
return 0
fi
NUM_PROCESSES=$(echo "$PIDS" | wc -l | xargs)
if [ "$NUM_PROCESSES" -gt 0 ]; then
openim::log::error "Found $NUM_PROCESSES processes for $OPENIM_OUTPUT_HOSTBIN/openim-msgtransfer"
for PID in $PIDS; do
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
echo -e "\033[31m$(ps -p $PID -o pid,cmd)\033[0m"
elif [[ "$OSTYPE" == "darwin"* ]]; then
echo -e "\033[31m$(ps -p $PID -o pid,comm)\033[0m"
else
openim::log::error "Unsupported OS type: $OSTYPE"
fi
done
openim::log::error "Processes have not been stopped properly."
else
openim::log::success "All openim-msgtransfer processes have been stopped properly."
fi
return 0
}
# set +o errexit # set +o errexit
# Sample call for testing: # Sample call for testing:
# openim::util::check_ports 10002 1004 12345 13306 # openim::util::check_ports 10002 1004 12345 13306
@ -684,7 +710,7 @@ openim::util::stop_services_with_name() {
all_pids_empty=true all_pids_empty=true
for server_name in "$@"; do for server_name in "$@"; do
server_pids=$(pgrep -f "$server_name") server_pids=$(pgrep -f "$server_name") || true
if [[ ! -z $server_pids ]]; then if [[ ! -z $server_pids ]]; then
all_pids_empty=false all_pids_empty=false
@ -707,7 +733,7 @@ openim::util::stop_services_with_name() {
done done
openim::log::info "# Begin to check all openim service" openim::log::info "# Begin to check all openim service"
. $(dirname ${BASH_SOURCE})/install/openim-msgtransfer.sh openim::msgtransfer::check_by_signal openim::util::check_by_signal
echo "Check ports:" echo "Check ports:"

@ -37,7 +37,7 @@ openim::util::stop_services_by_name_signal "${OPENIM_OUTPUT_HOSTBIN}"
sleep 1 sleep 1
openim::log::info "# Begin to check all openim service" openim::log::info "# Begin to check all openim service"
. $(dirname ${BASH_SOURCE})/install/openim-msgtransfer.sh openim::msgtransfer::check_by_signal openim::msgtransfer::check_by_signal
echo "Check ports:" echo "Check ports:"

Loading…
Cancel
Save