当前位置: 技术问答>linux和unix
远程连接关闭后,程序也停了,该怎么做才能不停?在线等"菩萨"
来源: 互联网 发布时间:2015-12-10
本文导语: 里用远程连接,打开终端,执行java xxx(主类),xxx需要一直运行,因为它服务端程序。由于远程连接有时间限制,过期后远程连接就无效了(没有手工关闭过这个远程连接),无效后xxx程序也停了,我需要xxx一直运行...
里用远程连接,打开终端,执行java xxx(主类),xxx需要一直运行,因为它服务端程序。由于远程连接有时间限制,过期后远程连接就无效了(没有手工关闭过这个远程连接),无效后xxx程序也停了,我需要xxx一直运行,该怎么做才能做到。如果在本地启动xxx就不会有这个问题。
本服务端是通过执行xx.sh来启动的,启动后有个运行状态,有异常时,会输出异常信息。我想要的效果是,服务端程序执行后,又回到了命令状态,而不是运行状态,并且关闭远程终端,不影响服务端程序的运行。该怎么做才能做到?
本服务端是通过执行xx.sh来启动的,启动后有个运行状态,有异常时,会输出异常信息。我想要的效果是,服务端程序执行后,又回到了命令状态,而不是运行状态,并且关闭远程终端,不影响服务端程序的运行。该怎么做才能做到?
|
nohup命令
理论上,我们一般退出Linux系统时,会把所有的程序全部结束掉,包括那些后台程序。但有时候,例如您正在编辑一个很长的程序,但是您下班或是有事需要先退出系统,这时您又不希望系统把您编辑那么久的程序结束掉,希望退出系统时,程序还能继续执行。这时,我们就可以使用nohup命令使进程在用户退出后仍继续执行。
一般这些进程我们都是让它在后台执行,结果则会写到用户自己的目录下的nohup.out这个文件里(也可以使用输出重定向,让它输出到一个特定的文件)。[例26]
$ nohup sort sales.dat &
这条命令告诉sort命令忽略用户已退出系统,它应该一直运行,直到进程完成。利用这种方法,可以启动一个要运行几天甚至几周的进程,而且在它运行时,用户不需要去登录。
nohup命令把一条命令的所有输出和错误信息送到nohup.out文件中。若将输出重定向,则只有错误信息放在nohup.out文件中。
理论上,我们一般退出Linux系统时,会把所有的程序全部结束掉,包括那些后台程序。但有时候,例如您正在编辑一个很长的程序,但是您下班或是有事需要先退出系统,这时您又不希望系统把您编辑那么久的程序结束掉,希望退出系统时,程序还能继续执行。这时,我们就可以使用nohup命令使进程在用户退出后仍继续执行。
一般这些进程我们都是让它在后台执行,结果则会写到用户自己的目录下的nohup.out这个文件里(也可以使用输出重定向,让它输出到一个特定的文件)。[例26]
$ nohup sort sales.dat &
这条命令告诉sort命令忽略用户已退出系统,它应该一直运行,直到进程完成。利用这种方法,可以启动一个要运行几天甚至几周的进程,而且在它运行时,用户不需要去登录。
nohup命令把一条命令的所有输出和错误信息送到nohup.out文件中。若将输出重定向,则只有错误信息放在nohup.out文件中。
|
加 nup