2009-02-16 80 views
5

我有一個批處理文件在Windows 2003服務器中啓動Java進程。根據安全策略,如果用戶在一段時間內處於非活動狀態,則會強制註銷該機器的用戶。問題是,當用戶註銷時,該進程也會死亡。即使在用戶註銷後在Windows中運行Java進程

我安排了一項新任務(控制面板 - >計劃任務)並選擇了「我的電腦啓動時」選項,並在那裏給出了用戶帳戶的詳細信息。但它似乎沒有任何影響,用戶仍然退出並且進程死亡。是否需要重新啓動才能使此更改生效?重啓後,我會達到我期望的效果嗎?

或者,將此流程作爲Windows服務運行解決問題?如果是這樣,你可以讓我知道如何讓Java程序或批處理文件作爲Windows服務運行?我不想使用任何其他第三方工具或庫。檢查,這通常意味着你需要提供密碼

感謝

回答

11

如果你希望它下你必須確保你沒有計劃任務運行「當用戶登錄才能運行」。

Windows服務將是這樣做的正常方式:Java service wrapper是第三方,但大量人使用它。

如果您真的不想使用第三方方法,您可以在WIndows NT或更高版本上使用svrany.exe (http://support.microsoft.com/kb/137890),但它不是專爲Java設計的。

+0

感謝您的回覆。是的,我沒有設置該特定選項,並提供了密碼詳細信息。 我在另一個線程中瞭解了Java服務包裝器。我打算用它作爲最後的手段。 – cdoe 2009-02-16 12:50:36

1

我使用Java Service Wrapper啓動Java程序作爲Windows服務。 我想它與之前發佈的srvany.exe類似。

0

按我的分析關機,我們使用的是標誌的JVM,

空閒解決方案將編寫一個VC++(.net)Windows服務創建程序,以啓動.bat/.exe作爲系統服務,並向SCM提供所有必需的回調方法。

注意: 1.包裝紙,因爲它沒有任何回調過程中對SCM(服務控制管理器)與SRVANY.EXE過程中是行不通的。 2.和java服務包裝是第三方API(許多LGPL許可)。

相關問題