欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在linux云服务器上运行Jar文件

程序员文章站 2022-04-30 23:12:25
...

       在linux服务器上运行Jar文件时通常的方法是:

  $ java -jar test.jar
  • 这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台运行呢:
  • 方法一:
$ nohup java -jar test.jar &

 

 nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 //当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中 

除非另外指定了输出文件。
  • 方法二:
 $ nohup java -jar test.jar >temp.txt &

  这种方法会把日志文件输入到你指定的文件中,没有则会自动创建

 

  • jobs命令和 fg命令:
     $ jobs

那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。

如果想将某个作业调回前台控制,只需要 fg + 编号即可。 $ fg 2

如系统配置过slf4j 打印配置 则不需要系统提供的默认打印,配置如下

nohup java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1 &

关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉大海

>/dev/null 表示将标准输出信息重定向到"黑洞"

2>&1 表示将标准错误重定向到标准输出(由于标准输出已经定向到“黑洞”了,即:标准输出此时也是"黑洞",再将标准错误输出定向到标准输出,相当于错误输出也被定向至“黑洞”)


  • 查看某端口占用的线程的pid
    netstat -nlp |grep :8080