源战役
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 

71 líneas
1.9 KiB

#!/usr/bin/env bash
# huangyongxing@yeah.net
# 模拟客户端编译运行管理
BASE_DIR=$(cd $(dirname $0); pwd)
cd ${BASE_DIR}/
APP_PATH=$(pwd)/config
SVR_PATH=$(dirname $(dirname ${BASE_DIR}))
BEAM_PATH=${SVR_PATH}/ebin
ERL_OPTION_NO_SMP="+P 204800 +K true +A 100 +spp true -smp disable -hidden +sbwt none"
ERL_OPTION_SMP="+P 204800 +K true +A 100 +spp true -smp enable -hidden +sbwt none"
# ERL=/opt/erlang-otp-19.3/bin/erl
# ERL=/opt/erlang-otp-23.2.6/bin/erl
ERL=erl
function fun_start() {
# 切换到BEAM_PATH,以确保logs目录的相对位置正确
cd ${BEAM_PATH}
local nodeName=imitation$RANDOM@127.0.0.1
local cookie=test
"${ERL}" ${ERL_OPTION_SMP} -name ${nodeName} -setcookie ${cookie} -boot start_sasl -sasl sasl_error_logger false -sasl errlog_type error -pa ${APP_PATH} -pa ${SVR_PATH}/config -s cli_simu start
}
function fun_make() {
cd ${SVR_PATH}
# "${ERL}" -noinput -smp enable -make
# local makeOptions='[{i,"include"},{outdir,"ebin"}]'
# "${ERL}" -noinput -smp enable -eval "Files = filelib:wildcard(\"test/cli_simu/src/*.erl\"), make:files(Files, ${makeOptions})" -s c q
"${ERL}" -noinput -smp enable -eval "Files = filelib:wildcard(\"test/cli_simu/src/**/*.erl\"), make:files(Files)" -s c q
}
function usage() {
cat <<EOF
--------------------------------------------------------------------------
m 编译
s 开启模拟客户端管理器
q 退出
(10分钟未输入指令将自动退出)
--------------------------------------------------------------------------
EOF
}
function main() {
local input
usage
while read -t 600 input
do
cd ${APP_PATH}
case "$input" in
"m")
fun_make
;;
"s")
fun_start
;;
"q")
break;;
*)
continue;;
esac
usage
done
}
main