mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-05-09 04:21:08 +08:00
scripts for Mac
This commit is contained in:
parent
27ad975359
commit
6e2132d217
@ -382,81 +382,76 @@ openim::util::check_ports() {
|
||||
# User:
|
||||
# openim::util::check_process_names nginx mysql redis
|
||||
# The function returns a status of 1 if any of the processes is not running.
|
||||
|
||||
openim::util::check_process_names() {
|
||||
# Function to get the port of a process
|
||||
get_port() {
|
||||
local pid=$1
|
||||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||||
# Linux
|
||||
ss -ltnp 2>/dev/null | grep $pid | awk '{print $4}' | cut -d ':' -f2
|
||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
# macOS
|
||||
lsof -nP -iTCP -sTCP:LISTEN -a -p $pid | awk 'NR>1 {print $9}' | sed 's/.*://'
|
||||
else
|
||||
echo "Unsupported OS"
|
||||
return 1
|
||||
fi
|
||||
case "$OSTYPE" in
|
||||
"linux-gnu"*)
|
||||
# Linux
|
||||
ss -ltnp 2>/dev/null | grep $pid | awk '{print $4}' | cut -d ':' -f2
|
||||
;;
|
||||
"darwin"*)
|
||||
# macOS
|
||||
lsof -nP -iTCP -sTCP:LISTEN -a -p $pid | awk 'NR>1 {print $9}' | sed 's/.*://'
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported OS"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Arrays to collect details of processes
|
||||
|
||||
# Arrays to collect process details
|
||||
local not_started=()
|
||||
local started=()
|
||||
|
||||
# Iterate over each given process name
|
||||
# Iterate over each given process name
|
||||
for process_name in "$@"; do
|
||||
# Use `pgrep` to find process IDs related to the given process name
|
||||
local pids=($(pgrep -f $process_name))
|
||||
local pids=($(pgrep -f "$process_name"))
|
||||
|
||||
# Check if any process IDs were found
|
||||
if [[ ${#pids[@]} -eq 0 ]]; then
|
||||
not_started+=($process_name)
|
||||
else
|
||||
# If there are PIDs, loop through each one
|
||||
for pid in "${pids[@]}"; do
|
||||
local command=$(ps -p $pid -o cmd=)
|
||||
local start_time=$(ps -p $pid -o lstart=)
|
||||
local port=$(get_port $pid)
|
||||
if [[ ${#pids[@]} -eq 0 ]]; then
|
||||
not_started+=("$process_name")
|
||||
else
|
||||
for pid in "${pids[@]}"; do
|
||||
local command=$(ps -p $pid -o cmd=)
|
||||
local start_time=$(ps -p $pid -o lstart=)
|
||||
local port=$(get_port $pid)
|
||||
port=${port:-N/A}
|
||||
|
||||
# Check if port information was found for the PID
|
||||
if [[ -z $port ]]; then
|
||||
port="N/A"
|
||||
fi
|
||||
started+=("Process $process_name - Command: $command, PID: $pid, Port: $port, Start time: $start_time")
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
started+=("Process $process_name - Command: $command, PID: $pid, Port: $port, Start time: $start_time")
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# Print information
|
||||
# Print not started processes
|
||||
if [[ ${#not_started[@]} -ne 0 ]]; then
|
||||
echo "Not started processes:"
|
||||
for process_name in "${not_started[@]}"; do
|
||||
echo "Process $process_name is not started."
|
||||
echo " - Process $process_name is not started."
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Print started processes
|
||||
if [[ ${#started[@]} -ne 0 ]]; then
|
||||
echo
|
||||
echo "Started processes:"
|
||||
echo -e "\nStarted processes:"
|
||||
for info in "${started[@]}"; do
|
||||
echo "$info"
|
||||
echo " - $info"
|
||||
done
|
||||
fi
|
||||
|
||||
# Return status
|
||||
|
||||
# Return status based on whether any processes have not started
|
||||
if [[ ${#not_started[@]} -ne 0 ]]; then
|
||||
openim::color::echo $COLOR_RED "OpenIM Stdout Log >> cat ${LOG_FILE}"
|
||||
openim::color::echo $COLOR_RED "OpenIM Stderr Log >> cat ${STDERR_LOG_FILE}"
|
||||
cat "$TMP_LOG_FILE" | awk '{print "\033[31m" $0 "\033[0m"}'
|
||||
echo -e "\nSome processes have not started. Please check the logs for more information."
|
||||
return 1
|
||||
else
|
||||
echo ""
|
||||
openim::log::success "All processes are running."
|
||||
echo -e "\nAll processes are running."
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
openim::util::check_process_names_for_stop() {
|
||||
# Function to get the port of a process
|
||||
get_port() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user