我正在通过"Runtime.getRuntime().exec("perl C:/script.pl")"执行Perl脚本

作为Jbutton动作侦听器的一部分。我希望能够单击两次按钮,并获得运行相同Perl脚本的两个实例。该脚本正在读取文本文件,因此第二次启动时,该操作取决于文本文件,但通常情况下,该脚本执行相同的操作。

我试图通过将运行时命令包装在新线程中并在每次按下按钮时在其上执行".run()"来解决此问题,但这似乎只会中断第一个实例并启动新实例。似乎没有办法并行执行两个相同的Perl脚本。关于如何实现此目标的任何想法?

ActionListener edit = new ActionListener() {

   public void actionPerformed(ActionEvent actionEvent) {

      class GetThread implements Runnable {

        public void run() {
          try {
            Runtime.getRuntime().exec("C:/Perl/bin/perl5.16.3.exe C:/Perl/get.pl", null, new File("C:/Perl"));
          } catch (IOException e1) {
            exceptionLog(e1);
          }
        }
      }
   GetThread get = new GetThread();
   get.run();
   }
}

最佳答案

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

每个Java应用程序都有一个Runtime类的实例,该实例允许该应用程序与应用程序运行所在的环境进行交互。当前运行时可以从getRuntime方法获得。

它可能会阻止您的通话。

10-04 22:21
查看更多