mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-02 18:34:29 +08:00
feat: add openim v3.4 and v3.5 changelog
Signed-off-by: Xinwei Xiong (cubxxw) <3293172751nss@gmail.com>
This commit is contained in:
parent
2c323825b0
commit
2db0611173
@ -138,7 +138,7 @@ function openim::rpc::start() {
|
||||
done
|
||||
done
|
||||
|
||||
sleep 1
|
||||
sleep 10
|
||||
|
||||
openim::util::check_ports ${OPENIM_RPC_PORT_TARGETS[@]}
|
||||
# openim::util::check_ports ${OPENIM_RPC_PROM_PORT_TARGETS[@]}
|
||||
|
||||
@ -301,29 +301,41 @@ openim::util::check_ports() {
|
||||
openim::log::info "Checking ports: $*"
|
||||
# Iterate over each given port.
|
||||
for port in "$@"; do
|
||||
# Use the `ss` command to find process information related to the given port.
|
||||
if command -v ss > /dev/null 2>&1; then
|
||||
info=$(ss -ltnp | grep ":$port" || true)
|
||||
else
|
||||
info=$(netstat -ltnp | grep ":$port" || true)
|
||||
# Initialize variables
|
||||
# Check the OS and use the appropriate command
|
||||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||||
if command -v ss > /dev/null 2>&1; then
|
||||
info=$(ss -ltnp | grep ":$port" || true)
|
||||
else
|
||||
info=$(netstat -ltnp | grep ":$port" || true)
|
||||
fi
|
||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
# For macOS, use netstat
|
||||
info=$(netstat -an -p tcp | grep "\.$port " || true)
|
||||
fi
|
||||
|
||||
# If there's no process information, it means the process associated with the port is not running.
|
||||
# Check if any process is using the port
|
||||
if [[ -z $info ]]; then
|
||||
not_started+=($port)
|
||||
else
|
||||
# Extract relevant details: Process Name, PID, and FD.
|
||||
local details=$(echo $info | sed -n 's/.*users:(("\([^"]*\)",pid=\([^,]*\),fd=\([^)]*\))).*/\1 \2 \3/p')
|
||||
local command=$(echo $details | awk '{print $1}')
|
||||
local pid=$(echo $details | awk '{print $2}')
|
||||
local fd=$(echo $details | awk '{print $3}')
|
||||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||||
# Extract relevant details for Linux: Process Name, PID, and FD.
|
||||
details=$(echo $info | sed -n 's/.*users:(("\([^"]*\)",pid=\([^,]*\),fd=\([^)]*\))).*/\1 \2 \3/p')
|
||||
command=$(echo $details | awk '{print $1}')
|
||||
pid=$(echo $details | awk '{print $2}')
|
||||
fd=$(echo $details | awk '{print $3}')
|
||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
# Handle extraction for macOS
|
||||
pid=$(echo $info | awk '{print $9}' | cut -d'/' -f1)
|
||||
command=$(ps -p $pid -o comm=)
|
||||
fd="N/A" # File Descriptor is not available in macOS netstat output
|
||||
fi
|
||||
|
||||
# Get the start time of the process using the PID
|
||||
if [[ -z $pid ]]; then
|
||||
local start_time="N/A"
|
||||
start_time="N/A"
|
||||
else
|
||||
# Get the start time of the process using the PID
|
||||
local start_time=$(ps -p $pid -o lstart=)
|
||||
start_time=$(ps -p $pid -o lstart=)
|
||||
fi
|
||||
|
||||
started+=("Port $port - Command: $command, PID: $pid, FD: $fd, Started: $start_time")
|
||||
@ -355,6 +367,7 @@ openim::util::check_ports() {
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
# set +o errexit
|
||||
# Sample call for testing:
|
||||
# openim::util::check_ports 10002 1004 12345 13306
|
||||
@ -371,12 +384,15 @@ openim::util::check_process_names() {
|
||||
# Function to get the port of a process
|
||||
get_port() {
|
||||
local pid=$1
|
||||
if command -v ss > /dev/null 2>&1; then
|
||||
# used ss comment
|
||||
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
|
||||
# used netstat comment replace ss
|
||||
netstat -ltnp 2>/dev/null | grep $pid | awk '{print $4}' | sed 's/.*://'
|
||||
echo "Unsupported OS"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
@ -496,6 +512,7 @@ openim::util::stop_services_on_ports() {
|
||||
return 1
|
||||
else
|
||||
openim::log::success "All specified services were stopped."
|
||||
echo ""
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
@ -572,6 +589,7 @@ openim::util::stop_services_with_name() {
|
||||
fi
|
||||
|
||||
openim::log::success "All specified services were stopped."
|
||||
echo ""
|
||||
}
|
||||
# sleep 333333&
|
||||
# sleep 444444&
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user