好的,所以我有幾個Java程序在Linux服務器上使用chron作業運行。這些作業每隔十分鐘左右運行一次,花兩分鐘時間運行,然後退出。我需要爲程序添加一種方法來檢測,當它們啓動時,是否已經有一個自己的實例正在運行,如果是,則不必進一步退出。我真的不確定處理這個問題的最佳方法,但我希望有人能提供一些建議。檢測在linux機器上運行的java程序
我考慮過的一種方法是從執行某種PS命令的Java代碼運行命令行參數,並查看它們是否正在運行。儘管對於如此之小的東西來說,這看起來相當挑剔和複雜。另外,我並不是那麼熟悉Linux,我甚至不確定最好的方式來做到這一點。如果有人有更好的想法,請告訴我。或者如果這是最好的方法,如果你能提供我需要的linux命令,我會很感激。謝謝。
這通常是通過創建'.lock'文件來完成。 – 2012-07-25 15:11:29
實際上並不涉及java。同樣的問題適用於任何語言。 – 2012-07-25 15:14:00
我會將java程序的調用包裝在一個shell腳本中,並檢查每個ps和grep像'ps auxww | grep'鎖定文件的問題在於,有可能在java程序崩潰的情況下它不會被清除。 –
jayeff
2012-07-25 15:17:11