#!/bin/sh
set -x
echo "Starting Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &
echo "Ending Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
#!/bin/sh
set -x
echo "Starting Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &
echo "Ending Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
上面的脚本发送 20000 个请求,https://xxx.xxxxxx.com/xxx/xxxx/new.jsp
并发数为 70。我希望它打印命令的开始和结束nohup
。但是,当我运行此命令时,在启动脚本后,Starting Time
和Ending Time
都会同时打印。
如何获得正确的结束时间?
答案1
背景还是前景?
如果您显示的代码是完整代码,我不明白您为什么运行,nohup .. &
只需删除它们,当您输入第二个回显时,ab
程序将结束。
如果您的代码是片段,只需wait
在第二个回显之前使用即可。例如
echo "Starting Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
nohup ab -n 20000 -c 70 https://xxx.xxxxxx.com/xxx/xxxx/new.jsp &
## some shell
wait
echo "Ending Time at "`sshpass -p xxx ssh -o StrictHostKeyChecking=no UN@IP 'date'`
- 请参阅手册中的等待
bash
。