2017-02-10 47 views
0

我需要編寫一個shell腳本,在該腳本中需要反彈Tomcat服務器(可能會在任何人的系統上)。因此,我想知道如何檢查tomcat是否作爲「service tomcat6 start」服務或腳本「./bin/startup.sh」運行?Tomcat即服務

回答

0

如果這適用於生產服務器:假定它始終作爲服務啓動。如果你發現它不是:找到從外殼開始並將它們開火的人。

艱難的話,但在生產系統:切斷,讓他們按照標準運作。如果你自動彈跳(重新啓動):這是你所做的。

通過startup.sh啓動時存在危險:無論用戶執行腳本,該進程都將啓動 - 可能缺乏對日誌和臨時文件的寫入權限,或者通過service tomcat start將其破壞, t再次訪問這些文件。

想到它:在startup.sh(或setenv.sh)中檢查(至少)當前用戶的身份並在不是預期的時候終止是個好主意。因此有效地禁止以普通用戶身份運行startup.sh,包括root。