日志文章

2008年02月29日 14:39:12

在Linux上远程部署Java应用程序

  工作中需要将升级后的应用程序部署到Linux机器。以前对Linux不太熟悉,在部署的过程学到一些Linux命令。

  应用程序是用Java,打包成jar文件。通过java -jar XXXXX.jar启动程序。

  我使用F-Secure SSH Client工具,但是一旦关闭远程连接客户端,程序就停止。

  后来,还是询问公司同事,使用nohup java -jar XXXXX.jar & 命令可以保证命令在后台运行。 同时,这个命令还会在这个目录下创建一个nohup.out文件,并所有输出和错误信息写入。
  这样,就可以通过命令:tail -f nohup.out 来实时监控程序的运行了。

  如果想停止,可以通过使用ps -ef , 然后再使用kill <PID>即可。

nohup 命令
用途
不挂断地运行命令。

语法
nohup { -p pid | Command [ Arg ... ] [ & ] }

描述
nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,同时忽略所有的挂起(SIGHUP)信号,或者修改用 -p 选项指定的进程来忽略所有的挂起(SIGHUP)信号。

在注销后还可以使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &(表示“and”的符号)到命令的尾部。

注:不能同时指定 -p pid 和 Command。
使用 -p pid 时,指定进程的输出将不会重定向到 nohup.out。

标志
-p pid pid 是正在运行的进程的进程标识。nohup 命令修改指定进程来忽略所有的挂起(SIGHUP)信号。

退出状态
该命令返回下列出口值: 126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。

否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

Tags: Linux   Java   远程   部署  

类别: Java技术 |  评论(2) |  浏览(1497) |  收藏
一共有 2 条评论
2楼 [楼主]程序人生 2008年03月14日 10:31:37 Says:
我也是刚刚接触不久,也没装过,只是远程连接公司的一些服务器,学习了一些命令,你可以在自己机器上装个虚拟机,学习学习。没有那么负责。
1楼 [匿名]牛全中 2008年03月08日 09:16:40 Says:
我一直用的是windows,但是现在因为工作的需要,要会用Linux,但是我真的还不会装这个操作系统。是否可以帮忙指点一下如何下手这个软件包的应用?
发表评论
看不清楚,换一张