startServer 指令
startServer 指令會讀取指定伺服器程序的配置檔,並啟動該伺服器程序。
- 啟動應用程式伺服器。
- 啟動適用於 IBM® WebSphere® Application Server 的 DMZ Secure Proxy Server。
- 啟動管理代理程式。
- 啟動工作管理程式。
如果您是在 Windows Windows 作業系統上執行產品,且伺服器是以 Windows 作業系統服務形式執行,startServer 指令會啟動伺服器和相關聯的
Windows 服務。
您不需要在 startServer 指令中使用使用者名稱和密碼,因為這個指令會啟動伺服器程序,但不會呼叫 MBean 方法。

- 發出 startServer -script 指令時,會建立一個含有靜態值的 Script。當您從主控台變更 JVM 參數時,為了容納這些已變更的 JVM 參數,需要產生新的 Script。
- 當您執行 startServer -script 時,指令會產生新的 Script,其中含有執行指令時的所有參數值。如果您變更參數的值(或新增參數),產生的 Script 並不會有這些新的參數值。這些新值會以靜態方式傳遞到新產生的 Script,因此,在建立這個 Script 之後所做的任何變更,都需要新的 startServer -script,來產生含有這些更新值的新 Script。
- 如果您變更 Java 虛擬機器的「類別路徑」設定的值,這個新值會置換 launch 指令中「類別路徑」參數的值,依預設,這個指令是在您發出 startServer -script 指令時所產生的 Script 中設定。
- 如果您在「環境項目」頁面中新增環境項目,或變更現有項目的設定,新值和變更值會以參數形式,出現在您發出 startServer -script 指令時所產生的 Script 中。
- 如果您所新增的環境項目中,有一個項目稱為 PATH,則指定給這個項目的值,會置換 setUpCmdLine 檔中指定的 PATH 變數值(依預設,設為 WAS_PATH)。如果 PATH 變數值遭到置換,會傳送下列訊息到記載了錯誤訊息的檔案:
WSVR0009E: 啟動期間發生錯誤。com.ibm.ws.exception.RuntimeError: java.lang.NoClassDefFoundError: com/ibm/ws/process/Win32ProcessGlue
如需這個指令執行位置的相關資訊,請參閱使用指令行工具主題。
語法
startServer server_name [options]
其中 server_name 是您要啟動之應用程式伺服器或適用於 IBM WebSphere Application Server 的 DMZ Secure Proxy Server的名稱。
這是必要引數。
這是選用引數。如果未指定這個引數,會根據您的設定檔名稱來指派伺服器。如果您使用名稱是 default 的設定檔,會將 <server> 引數設為 server1。如果設定檔名稱不是 default,會將 <server> 引數設為設定檔名稱。
startServer <adminagent_name>
其中 adminagent_name 是您要啟動之管理代理程式的名稱。
startServer <job_manager>
其中 job_manager 是您要啟動之工作管理程式的名稱。
參數
startServer 指令的可用選項如下:
- -?
- 列印用法說明。
-curlib <product_library>
指定基礎「提交工作 (SBMJOB)」CL 指令所用的現行程式庫。
-cpyenvvar
告訴 startServer 指令設定目前定義給伺服器程序的環境變數。預設值是不設定目前定義的環境變數。
- -help
- 列印用法說明。
-inllibl <library_list>
指定基礎「提交工作 (SBMJOB)」CL 指令所用的起始程式庫清單。
-inlaspgrp <ASP_group>
指定基礎「提交工作 (SBMJOB)」CL 指令的起始 ASP 群組。
-J <java_option>
指定要傳給 Java 直譯器的選項。
-jobd <product_library/job_description>
指定基礎「提交工作 (SBMJOB)」CL 指令的工作說明。
-jobq <product_library/job_queue>
指定基礎「提交工作 (SBMJOB)」CL 指令的工作佇列。
-logfile <fileName>
指定要寫入追蹤資訊的日誌檔位置。依預設,日誌檔名稱為 startServer.log,建立在您的 logs 目錄中。
-nowait
告訴 startServer 指令不要等待啟動的伺服器程序順利起始設定。
-outq <product_library/output_queue>
指定基礎「提交工作 (SBMJOB)」CL 指令的輸出佇列。
- -profileName
- 定義多重設定檔安裝架構中的伺服器程序設定檔。如果要在單一設定檔環境中執行,-profileName 選項不是必要選項。 這個選項的預設值是預設設定檔。
-quiet
抑制 startServer 指令以正常模式列印的進度資訊。
-replacelog
取代日誌檔,而不是附加至現行日誌。
- -recovery
- 指定伺服器將在回復模式下啟動、執行交易式回復,然後關閉。處於回復模式的伺服器不接受任何新的交易。當您重新啟動伺服器時,因交易有問題而無法使用的資源,將可供使用。
如果伺服器失敗,且您不想在回復程序期間接受新交易,請使用這個選項。
轉移: 如果您是從產品舊版移轉,請確定控制器 JCL 程序陳述式中的 ENV 參數含有 REC=N 或 REC=Y 元素。如果 ENV 參數沒有包含 REC=N 或 REC=Y 元素,伺服器將不會在回復模式下重新啟動,即使您指定 -recovery 選項也一樣。如果 ENV 參數包含 REC=N 元素,如果您在重新啟動伺服器時指定了 -recovery,會自動將設定變更為 REC=Y。如果您沒有從產品舊版移轉,ENV 參數會自動包含 REC=N 元素。下列範例是 PROC 陳述式更新後的可能樣貌:
//BBO6ACR PROC ENV=,PARMS=' ',REC=N,Z=BBO6ACRZ
在您呼叫 startServer 指令時,如果使用了 -recovery 參數,且回復程序不成功,SystemErr.log 和 SystemOut.log 檔中會出現下列錯誤訊息:
訊息沒有指出回復程序不成功。如果您使用 -recovery 參數,請檢查您正在啟動之伺服器的 SystemErr.log 和 SystemOut.log 檔,以瞭解回復程序是否成功。CWNATV03I: 設定檔 xxxxxx 中的應用程式伺服器 xxxxxx 已回復完成。伺服器已停止。
-sbs <product_library/subsystem_description>
指定基礎「提交工作 (SBMJOB)」CL 指令所用的子系統。
-statusport <portNumber>
這個選用參數可讓管理者設定伺服器狀態回呼的埠號。工具會開啟這個埠,並等待伺服器發出狀態回呼,來指出伺服器已啟動。如果未設定這個參數,會自動配置一個未用埠。
-script [<script fileName>] -background
利用 startServer 指令來產生啟動 Script,而不直接啟動伺服器程序。啟動 Script 名稱是一個選用引數。如果您沒有提供啟動 Script 名稱,預設 Script 檔名是 start_server,此視當成第一個引數傳遞給 startServer 指令的伺服器名稱而定。-background 是選用參數,指定當您執行產生的 Script 時,將在背景執行它。
- -trace
在日誌檔中產生追蹤資訊,作為除錯用。
對啟動伺服器的原生程序程式碼啟用追蹤。追蹤輸出會寫入至 was_jobname-jobuser-jobnum.log 檔,這個檔案位於 profile_root/logs 目錄。
- -timeout <seconds>
- 指定在伺服器起始設定逾時並傳回錯誤之前的等待時間。
-usejobd
指定在切換至「執行身分」使用者 ID 時,要使用伺服器之「提交工作 (SBMJOB)」程序中的工作說明。
註: 這個指令不會影響現行工作說明的 USER 欄位。
使用實務
下列範例示範正確的語法。括弧內的資訊是您發出上述指令時,所建立之輸出的說明。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
startServer server1
startServer server1 -script(產生 start_server1.sh 或 .bat 檔案)
startServer server1 -trace(產生 startserver.log 檔)
startServer adminagent
startServer.sh server1 -trace -username MyUserName -password MyUserPassword
-profileName MyProfileName (starts the server1 server using the
MyProfileName profile. 以使用者名稱 MyUserName 來執行伺服器, 並在 profile_root/logs 目錄之下產生追蹤檔)
startServer jobmgr
startServer proxy1(適用於安全 Proxy 設定檔)
![[z/OS]](../images/ngzos.gif)
startServer server1
startServer server1 -script(產生 start_server1.sh 檔)
startServer server1 -trace(產生 startserver.log 檔)
startServer adminagent
startServer jobmgr
startServer proxy1(適用於安全 Proxy 設定檔)
startServer.sh server1 -trace -username MyUserName -password MyUserPassword
-profileName MyProfileName (starts the server1 server using the
MyProfileName profile. 以使用者名稱 MyUserName 來執行伺服器, 並在 profile_root/logs 目錄之下產生追蹤檔)
![[IBM i]](../images/iseries.gif)
startServer server1(啟動預設設定檔的 server1 伺服器)
startServer server1 -trace (starts the server1 server for
the default profile and produces trace files under the
profile_root/logs directory)
startServer -profileName mytest (starts server mytest
configured under profile mytest)
startServer AdminAgent01
startServer JobMgr01
startServer proxy1(SecureProxySrv01 設定檔的預設伺服器名稱)
startServer.sh server1 -trace -username MyUserName -password MyUserPassword
-profileName MyProfileName (starts the server1 server using the
MyProfileName profile. 以使用者名稱 MyUserName 來執行伺服器, 並在 profile_root/logs 目錄之下產生追蹤檔)
結束碼
如何擷取 startServer 和 stopServer 回覆碼,以判斷是否成功?這份表格顯示伺服器給定啟動或停止指令的回覆碼。
#!/bin/sh
exitCode=`./startServer.sh server1`
伺服器狀態 | 回覆碼 |
---|---|
伺服器起始設定失敗 | -1 |
伺服器起始設定逾時 | -2 |
伺服器啟動中 | 1 |
伺服器正在起始設定既存的應用程式 | 2 |
伺服器起始設定完成(成功) | 0 |
伺服器停止失敗 | -10 |
伺服器停止逾時 | -11 |
伺服器停止作業已啟動 | 1000 |
伺服器已順利停止 | 0 |