我正在使用Putty连接到远程服务器.我想知道的是,如果有任何方法可以编写我的命令并允许它们在我用Putty关闭会话后继续运行.原因是我不想一直打开电脑.有没有办法做到这一点?
更新解决方案
对于我提出的问题,最好的解决方案是使用提供的命令之一,如nohup,因为您不必安装任何其他软件.但如果您遇到同样的问题,请使用屏幕,安装并使用它.真是太棒了.
我选择了Norman Ramsey的答案作为最爱,因为提出了几个使用命令和屏幕的解决方案.但请特别检查PEZ的其他答案,然后您就可以了解屏幕能够做什么.
屏幕!这是切片面包以来最好的东西.(是的,我知道其他人已经提出过这个建议,但是全世界都应该加入并建议它.)
屏幕就像,像嗯...像使用VNC等连接到GUI destop,但是用于命令shell窗口.您可以在同一个屏幕会话中同时打开多个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会话
我猜你现在开始拍照了吗?=)
这就像魔术一样.我一直在使用屏幕比我记忆中的时间更长,我仍然对它的血腥程度感到非常惊讶.
编辑:只想提一下现在也有tmux.非常像屏幕,但有一些独特的功能,分裂窗口是最突出的.
nohup
,disown
并且screen
都很好但是screen
最好的,因为与其他两个不同,screen
允许您断开与远程服务器的连接,保持一切正常运行,然后重新连接以查看正在发生的事情.随着nohup
和disown
你无法恢复互动.
尝试使用GNU Screen.它允许您一次打开几个shell.你可以断开那些正在运行的shell(即与Putty关闭会话)并且他们将继续做他们的事情.
你要找的是nohup.
请参阅wiki链接以了解如何使用它.
屏幕是最好的.
尝试:
screen -dmS"MyTail"tail -f/var/log/syslog
这个启动命令在后台.
使用screen -r列出,或者屏幕-r Mytail进入会话.
如果更多用户需要访问同一会话,请使用:screen -rx MyTail,并且两个或更多用户共享会话.