运行远程脚本并在不保持连接的情况下监控他的活动

Dan*_*oul 2 monitoring ssh console

我自己在 Linux Mint 上工作,拥有具有 root ssh 访问权限的远程 Ubuntu VPS 服务器。我在服务器上脚本,可以进行长时间的数据处理(数小时或数天的处理)。

现在我可以在我的机器上打开控制台,通过 ssh 连接到 VPS 并运行脚本 - 我在我的控制台中实时查看脚本正在做什么(处理了多少数据,剩余多少等等在我的控制台屏幕上定期刷新) -这有效。

我怎么能做类似的,但不依赖我的本地机器

  1. 连接到服务器并运行脚本
  2. 断开连接并离开服务器来完成他的长时间处理工作,同时我可以重新启动本地机器或关闭它,而不会影响已启动的服务器脚本执行。
  3. 有可能稍后再次连接并查看进程的当前状态(它实时向我显示的相同数据)而不会中断进程。

13d*_*tar 6

我认为这screen对您来说是一个理想的解决方案。它是如何工作-连接到您的VPS,类型screen,然后运行从shell脚本和分离(或者接近终端窗口,或按ctrl+a后面ctrl+d

您的脚本(和 shell)将继续在后台运行。您可以screen通过键入查看号码screen -ls。要恢复会话并查看脚本的进度/结果,请使用 获取屏幕编号,screen -ls然后使用 连接到它screen -r <screen number>。就是这样。恢复后,您可以再次以相同的方式分离。

您可以在apt-get install screen基于 Debianyum install screen的发行版和基于 RedHat 的发行版的VPS 上安装 screen 。

  • 另外 tmux (http://man7.org/linux/man-pages/man1/tmux.1.html) 的工作原理几乎相同(但它是更新且活跃的开发),请选择您更喜欢的任何 http://superuser.com /questions/236158/tmux-vs-screen (2认同)