parent
1ea4a453ac
commit
a3906a6c93
@ -0,0 +1,104 @@
|
||||
|
||||
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/
|
||||
source "${OPENIM_ROOT}/lib/util.sh"
|
||||
source "${OPENIM_ROOT}/define/binaries.sh"
|
||||
source "${OPENIM_ROOT}/lib/path.sh"
|
||||
|
||||
|
||||
|
||||
#停止所有的二进制对应的进程
|
||||
stop_binaries{
|
||||
for binary in "${!binaries[@]}"; do
|
||||
full_path=$(get_bin_full_path "$binary")
|
||||
openim::util::kill_exist_binary "$full_path"
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
#启动所有的二进制
|
||||
start_binaries() {
|
||||
local project_dir="$OPENIM_ROOT" # You should adjust this path as necessary
|
||||
# Iterate over binaries defined in binary_path.sh
|
||||
for binary in "${!binaries[@]}"; do
|
||||
local count=${binaries[$binary]}
|
||||
local bin_full_path=$(get_bin_full_path "$binary")
|
||||
# Loop to start binary the specified number of times
|
||||
for ((i=0; i<count; i++)); do
|
||||
echo "Starting $binary instance $i: $bin_full_path -i $i -c $OPENIM_OUTPUT_CONFIG"
|
||||
nohup "$bin_full_path" -i "$i" -c "$OPENIM_OUTPUT_CONFIG" > "test.log" 2>&1 &
|
||||
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
#kill二进制全路径对应的进程
|
||||
kill_exist_binaries(){
|
||||
for binary in "${!binaries[@]}"; do
|
||||
full_path=$(get_bin_full_path "$binary")
|
||||
result=$(openim::util::kill_exist_binary "$full_path" | tail -n1)
|
||||
if [ "$result" -eq 0 ]; then
|
||||
else
|
||||
echo "$full_path running. waiting stop"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
#检查所有的二进制是否退出
|
||||
check_binaries_stop() {
|
||||
local running_binaries=0
|
||||
|
||||
for binary in "${!binaries[@]}"; do
|
||||
full_path=$(get_bin_full_path "$binary")
|
||||
|
||||
result=$(openim::util::check_process_names_exist "$full_path")
|
||||
if [ "$result" -ne 0 ]; then
|
||||
echo "Process for $binary is still running."
|
||||
running_binaries=$((running_binaries + 1))
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$running_binaries" -ne 0 ]; then
|
||||
echo "There are $running_binaries binaries still running. Aborting..."
|
||||
return 1
|
||||
else
|
||||
echo "All processes have been stopped."
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
#检查所有的二进制是否运行
|
||||
check_binaries_running{
|
||||
for binary in "${!binaries[@]}"; do
|
||||
expected_count=${binaries[$binary]}
|
||||
full_path=$(get_bin_full_path "$binary")
|
||||
|
||||
result=$(openim::util::check_process_names "$full_path" "$expected_count")
|
||||
if [ "$result" -eq 0 ]; then
|
||||
echo "$binary is running normally."
|
||||
return 0
|
||||
else
|
||||
echo "$binary is not running normally, $result processes missing."
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#打印所有的二进制对应的进程所所监听的端口
|
||||
print_listened_ports_by_binaries{
|
||||
for binary in "${!binaries[@]}"; do
|
||||
expected_count=${binaries[$binary]}
|
||||
base_path=$(get_bin_full_path "$binary")
|
||||
for ((i=0; i<expected_count; i++)); do
|
||||
full_path="${base_path} -i ${i} -c $OPENIM_OUTPUT_CONFIG"
|
||||
openim::util::print_binary_ports "$full_path"
|
||||
done
|
||||
done
|
||||
}
|
||||
|
Loading…
Reference in new issue