请教linux下java调用shell实现自动重启的问题

风之刀 发布于 2017/06/06 15:46
阅读 378
收藏 0

应用场景是实现java程序的远程升级,java程序运行在linux下,是一个后台一直运行的服务。

大概流程如下:

1.java程序判断接收到升级包,调用linux shell脚本来进行升级

 Runtime.getRuntime().exec(command); //java采用此方式调用shell脚本

2.shell脚本将java程序停止(kill)

3.shell执行升级过程

4.升级完成后shell将java程序启动

 

现在碰到的问题是,在第2步shell脚本将java程序停止时,shell脚本也自动被停止了(猜测原因可能是因为shell脚本是java程序调用的,也就是父进程被杀掉,子进程也自动停止了)

对于此种情况大家有很思路解决吗? 

好像是不是有一种子进程可以脱离父进程执行的方式,但是通过java调用是实现?

希望大家不吝赐教,谢谢!

 

 

加载中
返回顶部
顶部