1

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

作为 Jbutton 动作监听器的一部分。我希望能够单击该按钮两次并运行同一 Perl 脚本的两个实例。该脚本正在读取文本文件,因此它在第二次启动时会根据文本文件的不同而有所不同,但通常脚本会执行相同的操作。

我试图通过将运行时命令包装在一个新线程中并".run()"在每次按下按钮时对其执行 a 来解决这个问题,但这似乎只会中断第一个实例并启动新的实例。似乎没有办法并行执行两个相同的 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();
   }
}
4

1 回答 1

0

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

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

它可能会阻止您的通话。

于 2013-07-14T21:49:39.537 回答