在 shell 中运行命令,并在关闭会话时继续运行该命令
- 2024-11-08 09:04:00
- admin 原创
- 29
问题描述:
我正在使用 Putty 连接到远程服务器。我想知道是否有任何方法可以编写命令并允许它们在关闭与 Putty 的会话后继续运行。这样做的原因是我不想一直开着电脑。有什么办法吗?
更新解决方案
对于我的问题,最好的解决方案是使用提供的命令之一,例如nohup,因为您不必安装任何其他软件。但如果您遇到同样的问题,请使用 screen,安装并使用它。它太棒了。
我选择了 Norman Ramsey 的答案作为收藏,因为他提出了几种使用命令和屏幕的解决方案。但请查看其他答案,特别是 PEZ 的答案,然后您就会了解屏幕可以做什么。
解决方案 1:
屏幕!这是自切片面包以来最好的东西。(是的,我知道其他人已经建议过了,但它太好了,全世界都应该加入并建议它。)
screen 就像,就像,嗯... 就像使用 VNC 或类似的东西连接到 GUI 桌面,但用于命令 shell 窗口。您可以在同一个 screen 会话中同时打开多个 shell“窗口”。您可以执行以下操作:
使用“screen -dR”启动屏幕会话(习惯使用-dR)
* 在一个窗口中运行一些命令
* 按`CTRL`- `A`,`C`创建一个新窗口,在 vim 中打开一个文件
* 按`CTRL`- `A`,`0`返回第一个窗口并对刚刚编辑的文件发出一些命令
* `CTRL`- `A`,`1`返回到你的 vim 会话
* `CTRL`- `A`,`C`对于另一个窗口,也许执行“sudo - su”(因为你恰好需要一个完整的 root shell)
* `CTRL`-`A`并`0`启动后台进程
* `CTRL`- `A`,`C`创建一个新窗口,“tail -f”该后台进程的日志
* `CTRL`- `A`,`d`断开屏幕连接,然后`CTRL`-`D`断开与服务器的连接
* 去度假三个星期
* 再次登录服务器并发出“screen -dR”以连接到您现有的屏幕会话
* `CTRL`使用-检查第四个窗口中的日志`A`(`3`就像你一直在那里观察它一样)
* `CTRL`- `A`,`1`再次启动该 vim 会话
* 我想你现在已经开始明白了吧?=)
这就像魔术一样。我使用 Screen 的时间已经不记得有多长了,但我仍然对它的出色表现感到惊讶。
编辑:只想提一下现在还有tmux。非常像screen,但有一些独特的功能,其中最突出的是分割窗口。
解决方案 2:
nohup
、disown
和screen
都很好,但screen
是最好的,因为与其他两个不同,screen
它允许您断开与远程服务器的连接,保持一切运行,然后稍后重新连接以查看发生了什么。使用nohup
和disown
您无法恢复交互。
解决方案 3:
尝试使用GNU Screen。它允许您同时打开多个 shell。并且您可以断开与正在运行的 shell 的连接(即关闭与 Putty 的会话),它们将继续执行其工作。
解决方案 4:
您正在寻找的是nohup。
请参阅 wiki 链接以了解如何使用它。
解决方案 5:
screen
是最好的。
尝试:
screen -dmS "MyTail" tail -f /var/log/syslog
该命令在后台启动。
使用screen -r
列出,和或screen -r
Mytail进入会话。
如果有更多用户需要访问同一个会话,请使用:screen -rx MyTail,然后两个或多个用户共享该会话。
解决方案 6:
如果您无法使用screen
(因为例如您的 SSH 会话是由编程驱动的),您也可以使用daemonize将程序作为守护进程运行。
解决方案 7:
对我来说很有效的一种方法是at
。
at
工作原理与 cron 类似,但只用于一次性任务。我今天使用它下载了一个大文件,而不必保持会话处于活动状态。
例如:
$ at 23:55
at> wget http://file.to.download.com/bigfile.iso
at> ^D
您传递at
一个时间(将来),它会给您一个提示。您输入要在当时运行的命令,然后按 ctrl+d。您可以退出会话,它会在指定的时间运行命令。
维基百科有更多关于的信息at
。
解决方案 8:
./command & disown
解决方案 9:
ssh localhost && ./command && exit
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件