我正在创建一个SWT应用程序,它在java.lang.Process
中调用外部可执行文件(例如abc.exe)。这个新过程是在我的复合材料上的“开始”按钮上创建的。
问题是如果executbale abc.exe 挂起;我的整个SWT shell都挂了!所以我想添加一个名为“Stop”的新按钮,这样用户就可以轻松杀死挂起的进程,但由于所有内容都在一个线程中执行,所以我也无法按下“Stop”。
有谁能告诉我/告诉我如何才能最好地解决这个问题。
非常感谢,Tor
答案 0 :(得分:1)
您需要在后台线程中运行该进程。问题是您在同一个线程中运行SWT应用程序和abc.exe。会发生什么,是进程正在轮流执行请求/响应,并且abc.exe进程没有响应,所以它就在那里等待 - 如果abc.exe正在执行长时间运行的算法,则会发生同样的情况。 / p>
答案 1 :(得分:0)
在java中,进程终止实际上是未实现的,因为它非常危险