我正在運行從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. 來自命令行參數的蜘蛛