Commons Daemon 之 procrun

Procrun是一套讓Java應用程序運行在WIN#@下更容易的庫和應用程序。

Procrun服務應用程序

Prunsrv一個讓應用程序作爲服務運行的服務程序,它能轉換任一應用程序作爲服務運行。

Procrun監視器應用程序

Prunmgr是一個可視化應用程序,用來監視和配置procrun服務。

可用的命令行選項:

//ES//     編輯服務的配置     這是一個默認的操作. 如果沒有提供選項,可執行文件被命名爲 服務名稱W.exe 來調用
//MS//     服務監視器     把圖標放在系統托盤中

命令行參數

每一個命令行指令的格式爲 //XX//服務名

可用的命令行選項爲:

//TS//     運行服務爲一個控制檯應用程序,這是默認的操作。可執行文件被命名爲 服務名稱W.exe 來調用
//RS//     運行服務     僅從服務管理器中調用
//SS//     停止服務     
//US//     更新服務參數    
//IS//     安裝服務    
//DS//     刪除服務,如果正在運行會停止它

命令行參數

每一個命令行參數的前綴爲 -- 。如果命令行前綴爲  ++ ,那麼參數會被附加在已經存在的選項後面。如果提供了相同名稱的環境變量作爲命令行參數,但是前綴爲PR_,則具有優先權。例如:

set PR_CLASSPATH=xx.jar

等同於使用

--Classpath=xx.jar

作爲命令行參數。

參數名稱     默認     描述
--Description         服務名稱的描述 (最大1024字符)
--DisplayName     服務名稱     顯示的服務名稱
--Install     procrun.exe //RS//ServiceName     安裝鏡像
--Startup     人工     服務啓動模式,自動或者人工
--Type         服務  類型可以是交互式的桌面程序。使用和這個選項僅限於本地系統帳號
--DependsOn         列出服務的依賴關係。依賴的服務使用 # 或者 ; 字符分割
--Environment         列出對服務提供的環境變量,格式爲 key=value 。使用 # 或者 ; 字符分割
--User         運行程序使用的的用戶帳號。它僅用來StartMode模式的java或者exe,讓程序作爲服務運行在沒有作爲服務帳號的權限下運行。
--Password         --User 指定的帳號的口令
--ServiceUser         指定服務運行的帳號名稱。格式爲 DomainName\UserName 。服務進程以這個帳號登錄,如果帳號屬於內建的域,可以使用 .\UserName 的格式
--ServicePassword         通過 --ServiceUser 指定的帳號的口令
--JavaHome     JAVA_HOME     設定一個和JAVA_HOME環境變量不同的 JAVA_HOME
--Jvm     自動     使用自動或者指定全路徑的jvm.dll 。你可以使用環境變量
--JvmOptions     -Xrs     以 -D 或者 -X 格式列出傳遞給JVM的參數。這些選項使用 # 或者 ; 字符分割。如果你需要嵌入 # 或者 ; 字符,請使用單引號把它括起來。
--Classpath         設置java類路徑
--JvmMs         初始內存池,單位 MB
--JvmMx         最大內存池,單位 MB
--JvmSs         線程堆棧,單位 KB
--StartImage         將要啓動的可執行程序
--StartPath         啓動程序工作路徑
--StartClass         用來啓動的類
--StartParams         列出傳遞給 StartImage 或者 StartClass 的參數。參數使用 # 或者 ; 分割。
--StartMethod     Main     如果使用了不是main的方法名稱
--StartMode     executable     可以是一個 jvm java或者exe程序
--StopImage         可執行程序用來發出停止服務的信號
--StopPath         停止程序的工作路徑
--StopClass         停止服務的類
--StopParams         列出傳遞給 StopImage 或者 StopClass 的參數。參數使用 # 或者 ; 分割。
--StopMethod     Main     如果使用了不是main的方法名稱
--StopMode     executable     可以是一個 jvm java或者exe程序
--StopTimeout     No Timeout     定義一個時長,單位秒,procrun等待服務優雅地退出
--LogPath     working path     日誌路徑
--LogPrefix     jakarta_service     定義服務日誌文件名
--LogLevel     INFO     定義日誌級別error 、 info 、 warn 、 debug
--StdOutput         重定向的stdout文件名稱
--StdError         重定向的stderr文件名稱


安裝服務

你需要使用 //IS// 參數

安裝名爲 'TestService'的服務

prunsrv //IS//TestService --DisplayName="Test Service" \--Install=prunsrv.exe --Jvm=auto --StartMode=jvm --StopMode=jvm \--StartClass=org.apache.SomeStartClass --StartParams=arg1;arg2;arg3 \--StopClass=org.apache.SomeStopClass --StopParams=arg1#arg2 \

更新服務

你需要使用 //US// 參數

更新名爲 'TestService'的服務

prunsrv //US//TestService --Description="Some Dummy Test Service" \--Startup=auto --Classpath=%CLASSPATH%;test.jar

移除服務

你需要使用 //DS// 參數。如果服務正在運行,它會停止它,然後刪除。

移除名爲 'TestService' 的服務
prunsrv //DS//TestService

調試服務

運行服務爲控制檯模式,你需要使用 //TS// 參數。服務可以使用CTRL+C or CTRL+BREAK中斷。如果你把prunsrv.exe改名爲testservice.exe,你僅需要執行the testservice.exe,這個命令模式被默認執行。

在控制檯模式運行名爲 'TestService'的服務

prunsrv //TS//TestService [additional arguments]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章