linux上Java后台执行SHELL脚本
来源:互联网 发布:mac 照片浏览工具 编辑:程序博客网 时间:2024/05/22 06:31
有一个SHELL脚本,运行时常驻内存,所以如果是在命令行下运行,命令会是像这样:
nohup /someurl/test.sh&
为了方便管理、启动,现在有一个JAVA前台程序,使用Runtime.getRuntime().exec()的方式,想启动或者中止这个SHELL脚本。
中止程序没有问题,取得PID后,用kill命令就可以结束这个进程了。
现在的问题是,如何才能后台启动这段程序,而同时让JAVA不用等待程序执行完成?
下面这段程序虽然能启动,但是除非手动中止t.sh,否则最后的那后finished...一直不会执行, java在等待程序执行完成后才继续下面的操作。
nohup /someurl/test.sh&
为了方便管理、启动,现在有一个JAVA前台程序,使用Runtime.getRuntime().exec()的方式,想启动或者中止这个SHELL脚本。
中止程序没有问题,取得PID后,用kill命令就可以结束这个进程了。
现在的问题是,如何才能后台启动这段程序,而同时让JAVA不用等待程序执行完成?
下面这段程序虽然能启动,但是除非手动中止t.sh,否则最后的那后finished...一直不会执行, java在等待程序执行完成后才继续下面的操作。
- public static void main(String[] args) throws Exception{
- String cmd = "nohup /pmapp/liuyi/java/t.sh&";
- String[] cmds = {"/bin/ksh", "-c", "nohup /someurl/test.sh&"};
- Process p = Runtime.getRuntime().exec(cmds);
- BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String s = "";
- while((s=in.readLine()) != null){
- System.out.println(s);
- }
- System.out.println("finished...");
- }
1 0
- linux上Java后台执行SHELL脚本
- 如何用Java后台执行SHELL脚本?
- 后台执行shell脚本
- shell脚本定时、后台执行
- 后台执行linux脚本
- Linux后台执行脚本
- Linux执行shell脚本方式及区别&命令后台运行
- Linux执行shell脚本方式及区别&命令后台运行
- Linux执行shell脚本方式及区别&命令后台运行
- Linux执行shell脚本方式及区别&命令后台运行
- Java调用执行linux shell脚本
- linux执行shell脚本
- Linux执行shell脚本
- JAVA SHELL脚本执行
- java执行shell脚本
- Java 执行shell 脚本
- linux上java调用shell脚本
- Linux 集群上批量执行同一命令 shell 脚本
- Vue2.0 探索之路——生命周期和钩子函数的一些理解
- BZOJ3688: 折线统计
- 面向对象的四个要点
- 单点登录实现(spring session+redis完成session共享)
- 【java错误】Could not determine type for decimal
- linux上Java后台执行SHELL脚本
- Android开发之查看签名文件信息,查看MD5,SHA1信息
- Flexbox弹性盒子布局
- 跨服Lua调用
- Windows7下安装React Native开发环境
- 最长回文子串的输出
- msyql 删除带横杠名字的数据库 用tab 上面的 ` 例如 drop database `test-1-2`
- socket 聊天室
- css伪元素实现有序编号