对Unix,Linux类服务器维护经常是通过ssh完成的,而有些操作比较费时,如更新程序等。此时如果断开ssh连接的话,更新程序就会随之被中断。如何保证断开ssh后仍旧能保持更新进程的运行呢?有两种方法:

(1)nohup

#nohup 应用程序名 &

此后,如果你断开了ssh,程序依旧运行。此种方式的缺点是,应用程序没有交互界面了,程序的输出将会输出的一个xxx.out文件中,而且以后无法在界面控制程序的结束。必须通过kill的方式。所以这种方式显得很简单粗鲁,很少使用。

(2)screen

#screen
回车后进入Screen子界面,此时putty标题栏会指示处于子界面状态,然后运行你的程序
#应用程序名
然后按下Ctrl+A后抬起,然后按下d键,此时切换回主界面,Putty的窗口标题栏也会指示。
#进行其他的操作,或者exit

此时就是断开ssh,程序仍在运行。以后重新ssh连接后,输入
#screen -ls
,查看子界面的代号,然后输入
#screen -r 子界面代号
如执行一下命令即可看到 数据生成的窗口 screen -r 19366.pts-3.hd12  
就可以查看当初你程序运行所在的子界面了。

共有 0 条评论