嗨,我有一个包含以下内容的shell脚本:
cd /home/ubuntu
python -m SimpleHTTPServer 3000 &
如果我从命令行执行它,然后在端口3000上访问服务器,则可以正常工作。如果我使用以下命令从远程计算机通过ssh执行相同的shell脚本:
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=5 -f -i mykey.pem ubuntu@99.99.99.99 /bin/bash shellscript.sh
然后它确实启动了python服务器,但是一旦我访问它,它就会显示一条错误消息:
Exception happened during processing of request from ....
在此请求之后,我看到python服务器已关闭。 通过ssh启动脚本时,为什么行为会有差异?
经过一些实验,我注意到当python服务器的STAT列为Ss时,它可以工作,但是当它只有S时,它就不能工作。
如果我将shell脚本更改为:
python -m SimpleHTTPServer 3000
然后它很好用