linux - 使用 ssh 启动远程进程并退出

标签 linux ubuntu ssh

我正在尝试使用 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/

相关文章:

c++ - Qt Creator 未定义套接字 - Linux

php - doc/docx 到 PDF 转换器

java - 用JAVA扫描一系列文件夹

python - wxPython 在 ubuntu 上运行不正常

github - 使用部署 key (R/W)从 CircleCI 推送到 GitHub,但 GitHub 表示该 key 是只读的

.net - .Net 项目所需的免费或商业 SCP 库

linux - PureBasic - 我如何模拟按下 F1 或 F2 键盘按钮?

python - 错误: 502 bad gateway in flask app on nginx and uwsgi

ubuntu - 如何在 Ubuntu 20.04 服务配置中选择特定版本的 dotnet?

更改用户 ID 以分配附加功能