梦在远方SM 2018-04-24 23:00 采纳率: 66.7%
浏览 3019
已采纳

关于java jar程序接受命令输入

我写了一个java程序,其内部包含一个容器。现在已经可以通过命令行带参数启动该程序,主要是运用到main函数的String args[]。现在要
在程序启动后支持命令重启这个程序内部的容器(不是重启程序)。我现在可以通过以下代码实现:
Scanner in = new Scanner(System.in);
String command = null;
do {
System.out.println("Please Enter Command :");
command = in.nextLine();

        if (command.equals(Constant.BOOT_ARGS_CMD_QUIT)) {
            System.out.println("start quite program .......");
            //退出流程

            System.out.println("end quite program .......");
            break;
        }else if(command.equals(Constant.BOOT_ARGS_CMD_REBOOT)){
            //重启逻辑


        }else {
            System.out.println("Unknow Command : " + command);
        }
    } while (true);

请问我这种方式, 在linux下用nohup后台运行后,是不是上面的方式就不支持了?我想要的最好实现方式是如下:
//启动
xxx.jar start 100

//重启容器
xxx.jar reboot

  • 写回答

4条回答 默认 最新

  • speedyao 2018-04-25 01:53
    关注

    nohup的话你就没法监控命令行了,不过你可以换个思路。比如监控文件内容,通过读取文件内容来启动或者reboot你的程序。
    监控文件变化有两种方式:1、inotify,当文件产生变化的时候会触发你的程序监听,具体你可以查看inotify的接口文档
    2、循环读取文件内容,这种比较简单也比较暴力。
    希望对你能产生帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 怎么解决LogIn.vue中多出来的div
  • ¥15 优博讯dt50巴枪怎么提取镜像
  • ¥30 在CodBlock上用c++语言运行
  • ¥15 求C6748 IIC EEPROM程序固化烧写算法
  • ¥50 关于#php#的问题,请各位专家解答!
  • ¥15 python 3.8.0版本,安装官方库ibm_db遇到问题,提示找不到ibm_db模块。如何解决?
  • ¥15 TMUXHS4412如何防止静电,
  • ¥30 Metashape软件中如何将建模后的图像中的植被与庄稼点云删除
  • ¥20 机械振动学课后习题求解答
  • ¥15 IEC61850 客户端和服务端的通讯机制
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部