我正在运行从Java代码使用的shell命令使用ProcessBuilder.start()
当命令完成执行时,我需要回调(或某种通知)。该命令需要10-15秒才能执行。是否有可能使用ProcessBuilder
?processbuilder来运行来自Java的命令
3
A
回答
4
ProcessBuilder的start()
方法明确指出它返回一个Process,其API为here。该进程具有可以在其上调用的方法,包括waitFor,该进程在进程结束时唤醒当前线程。所有你需要做的就是启动一个线程,给它一个这个进程,并在进程完成时或超时后发出信号。
4
是的,这是可能的。您可以在Process上调用waitFor()
,然后等待它返回,然后分析返回的值以确保它为0,或者如果不响应该错误。这通常在后台线程中完成,以免绑定当前线程。
相关问题
- 1. 运行来自JAVA的CMD命令
- 2. 来自Java的Linux命令行指令
- 3. 来自Java的Linux命令
- 4. 无法执行来自java的命令
- 5. 来自java的命令行调用
- 6. 执行来自Java的CLI命令
- 7. 从命令行运行java类,包括来自jar的库
- 8. Linux MV命令来自Java
- 9. 来自命令行的MS Word命令
- 10. 的ProcessBuilder java的UNIX命令
- 11. 运行来自Java的unix命令的库
- 12. Java的ProcessBuilder在哪里执行命令?
- 13. 运行命令来自C#程序的提示命令
- 14. Java ProcessBuilder ImageMagic转换命令
- 15. Java中的processbuilder运行一系列命令
- 16. 不能用的ProcessBuilder运行程序,运行命令行
- 17. 来自python dict命令的Java hashmap?
- 18. 来自java程序的命令
- 19. 来自命令提示符的Java mkdir
- 20. 正在运行的会话中的matlab命令(来自bash /命令行)
- 21. 如何知道Eclipse用来运行java程序的命令行?
- 22. Python脚本来运行Django的命令
- 23. 运行Network Associates来自SSIS的PGP命令行
- 24. 使用来自Pascal的Windows命令行
- 25. 来自命令行的sqlplus语句
- 26. 来自命令行的输入
- 27. 来自命令行的R脚本
- 28. 来自命令行的蓝牙
- 29. 来自命令行的Matlab ARGV
- 30. 来自命令行参数的蜘蛛