1 Star 0 Fork 0

木子/shellinabox

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
stresstest.sh 1.22 KB
一键复制 编辑 原始数据 按行查看 历史
#!/bin/bash -e
PORT=4201
PIDFILE=stresstest.pid
rm -f "${PIDFILE}"
trap '[ -r "${PIDFILE}" ] && kill "$(cat "${PIDFILE}")"; rm -f "${PIDFILE}"' \
EXIT INT TERM QUIT HUP
./shellinaboxd -p "${PORT}" -s "/:$(id -u):$(id -g):${PWD}:/bin/bash -c \
'while read i; do [ -z "${i}" ] && break; echo \" $i\"; done'" \
--background="${PIDFILE}"
session() {
local data="$(wget -O- --post-data='' --quiet "http://localhost:${PORT}/")"
local session="${data##*\"session\":\"}"
session="${session%%\"*}"
while read -r i; do
local keys="$(echo -n "${i}" | od -tx1 -An -w1000)"
wget -O/dev/null --post-data="session=${session}&keys=${keys// /}" \
--quiet "http://localhost:${PORT}/"
kill -0 "$(cat "${PIDFILE}")" || break
[ -z "$i" ] && break
data="$(wget -O- --post-data="session=${session}" \
--quiet "http://localhost:${PORT}/")"
data=${data##*\"data\":\"}
data=${data%%\"*}
echo "${data}"
done <<'EOF'
Hello world
This is a test
OK, that's it for now
EOF
}
pids=""
for i in `seq 100`; do
session &
pids="${pids} $!"
sleep 0.02
kill -0 "$(cat "${PIDFILE}")" || break
done
wait $pids >&/dev/null
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/muzi222/shellinabox.git
[email protected]:muzi222/shellinabox.git
muzi222
shellinabox
shellinabox
master

搜索帮助