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]
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]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.