使用jsvc启动java进程

使用jsvc启动java进程

apache commons daemon,apache的一个子项目。
它的说明文档很简单,它的实际用法也是。

推荐直接去官网查看它的文档。
项目地址为:
https://commons.apache.org/proper/commons-daemon/index.html

一、启动、关闭java进程时遇到的一些需求

在启动或是关闭java进程时,有时会对这些操作和进程运行状态信息提出一些要求。

1. 在查看java进程信息时,希望能隐藏部分classpath。

如果引用的jar文件比较多,那么进程信息中显示的classpath就很长,这个对查看进程信息就很不友好,尤其是在一次要查看多个java进程的情况下。

2. 有时希望能以类似同步阻塞调用的方式来启动和关闭java进程。

只有进程在完全初始化或退出后,执行调用的脚本或命令才返回。

二、相关概念

commons-daemon可以看成是一个独立的jar文件,需要引入到项目的classpath中来配合使用。
jsvc是一个可以在类Unix上运行的可执行文件。

实际使用时,需要联合commons-daemon和jsvc一起使用。
通过它们,可以使在类Unix系统上运行java进程更加容易。

比如下面的命令,使用jsvc来启动一个java进程。

jsvc -user xxx -cwd xxx -procname xxx -pidfile xxx -cp xxx ... JVM_OPTS APP_MAIN_CLASS

可以看出它和普通的java命令类似,但是多了一些前面的参数配置。

三、初识jsvc

大约在2013年或更早的时候,项目使用jsvc来启动java进程。
当初不知道是谁率先引入的jsvc,也不知道他引入jsvc是为了解决什么样的问题,反正这种方式就这么被传承下来了。

但从那时起,使用jsvc的体验就不太好。
因为每次启动时会产生两个进程,每个进程的信息中都包含了大量的classpath信息。
而且没有用到jsvc的其它功能,因此也就没有感觉到使用jsvc带来的优势。

新人可能会对这两个进程产生疑惑,到底哪个是真正的java进程。
而且每次使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值