我正在尝试使用 ssh
从命令行使用以下命令在远程服务器上启动 python 服务器:
$ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
-o ConnectTimeout=5 -f -i mykey.pem user@99.99.99.99 \
'python -m SimpleHTTPServer 3000 & echo $! > /home/user/pysrv.pid'
启动后,我的 ssh session 将转到后台,但直到 python 服务器运行时才会退出。有没有办法可以设置命令,以便 ssh 不会在我当前的计算机上作为后台进程保留?
最佳答案
你可以做到
nohup python -m SimpleHTTPServer 3000 & echo $! > /home/user/pysrv.pid &
它将创建一个不需要父级 (ssh) 的分离任务。
OTOH,如果您终止 ssh 服务器进程,您将无法再次连接。这是您想要的,还是您只是想终止 session ?如果只是 session ,则在连接断开后它应该会自行消失。
关于linux - 使用 ssh 启动远程进程并退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52229006/