簡體   English   中英

我可以使用命令行/腳本來修改已經運行的Java程序中的變量嗎

[英]Can I use the command line/a script to modify variables in a java program that is already running

我有一個線程化的TCP連接,該連接本質上正在等待在while(true)循環內接收消息。 程序本身的功能很好用,但是它不能在退出時正常關閉套接字/線程,有時我會得到僵屍進程,必須重新啟動才能連接到同一端口。 我正在編寫一個腳本,它將負責關閉此腳本以及與此程序並行運行的另一個程序。 最初,我的計划是使用ShutdownHook在最后清理所有內容,但關閉腳本的原因是關閉腳本被觸發。

在Java程序已經運行時,有什么方法可以傳遞信息以修改Java程序中的變量,例如與while循環關聯的布爾值? [while(true)看起來像是不好的編碼]

如果不是這樣,那么任何人都將更好地了解如何使用腳本來更優美地清理和關閉以無GUI的jar形式運行的程序。

提前致謝

很難理解為什么需要這樣做。 不能對程序進行調試以確定更好/更可靠的方法來確保套接字在退出前正確關閉嗎?

您可以研究程序所關注的系統變量的使用,該變量具有外部因素影響應用程序的運行邏輯狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM