Problem:
用XShell远程连接Linux服务器,使用命令开启服务器程序,但是当我把XShell关掉的时候,服务器程序也跟着关掉了,如何让Linux服务器上的程序一直执行呢?
Solution:
在Linux命令中,有一个nohup命令,可以让程序后台执行,就算你把XShell关掉,程序依然执行,现在讲解一下,nohup命令的用法。
nohup 命令
用途:不挂断的执行命令
用法:nohup Command [ Arg … ] [ & ]
nohup命令运行由Command参数和任何相关的Arg参数指定的命令,忽略所有挂断信号,在注销后使用nohup命令运行后台中的程序,此命令需要在尾部添加&符号
如:后台运行一个打包好的jar包,nohup java -jar WhilePrintf.jar -node & ,其中,-node是往WhilePrintf.jar入口程序传递的参数,该命令的末尾一定要加上&符号
此外,无论是否将命令nohup的输出重定向到终端,输出都将附加到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,那么就会重定向输出到¥HOME/nohup.out文件中。如果没有文件能创建或打开用来追加,那么Command参数指定的命令不可调用。