[英]Shell script calling non-main method of running java program
我開發了一個shell腳本,它調用java程序RHEL
環境的main方法。
Shell腳本(比如說app.sh
)在tomcat.sh
上有多個選項
start:
它將通過調用main方法啟動一個java程序
stop:
它將獲得正在運行的進程ID並stop:
進程
我已經實現了start
和stop
命令,並期待實現暫停命令。
pause:
此選項應獲取運行java應用程序的pid並調用非Main方法 。
我沒有問題來獲取進程ID。 但是我可以從運行進程ID調用java程序的非Main方法嗎?
編輯:
如何從JVM外部調用對象中的方法? 問題提供了不同技術的解決方案,但我不能轉向使用shell腳本的不同技術。
解決方案如下:
我在評論中提到的SO問題包含了所有必要的技術細節。 實際上所有的學分應該在那里,我只是重新安排他們的話。
或者在類Unix系統中,包括Linux,您可以為給定的pid發送SIGSTOP信號( kill -STOP <pid>
),並且在收到SIGCONT之前將無條件地停止JVM( kill -CONT <pid>
)。 但我想這絕對是一個殘酷的解決方案。 可能你會失去所有打開的連接等。
我找到了一個解決方案來擺脫她腳本只調用一個程序的主要方法的限制。
還有一個解決方案:調用一個jsp頁面,它通過在pause選項中使用腳本中的wget命令來調用程序A上的遠程方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.