想要完成使用java yourclass stop这种方式停止原来运行的程序
那么你就必须依赖于socket通信之类的方法来完成,你可以使用自定义的socket通信
或者rmi等等的方法。你原来的写法是肯定行不通的

解决方案 »

  1.   

    ListenNewMsg listenNewMsg1 = new ListenNewMsg();public static void main(String[] args) {
        if(args.length < 1){
           System.out.println("命令错误,请加参数。");
        }
        else{
          if (args[0].equals("start")) {
            listenNewMsg1.open();
          }
          else if (args[0].equals("stop")) {
            listenNewMsg1.close();
          }
          else
            System.out.println("参数错误。");
        }
      }
      

  2.   

    如果我不使用socket通信或rmi之类的方法,有什么解决办法?
    可以不用我的这种启动、停止方法。
      

  3.   

    或者我可以就在主线程中不断判断,直到有stop之类的信号,然后去执行close方法,这时我的stop消息应该怎么发送给程序呢?
    不知这种方法可行不?
      

  4.   

    首先你要清楚,你调用java yourclass stop方法时候,已经和原来的运行的
    java yourclass start完全脱离,两者可以说是毫无关系的,无论成员变量,方法
    全部都没有共享。所以这两者是不可能直接进行联系的,Socket,RMI之类才能够通知到原来的类