檢視原始碼 start_erl

在 Windows 系統上為嵌入式系統啟動 Erlang。

描述

start_erl 程式是專為 Windows NT/2000/XP(以及更新版本的 Windows)設計的。雖然在其他平台上也有同名的程式,但它們的功能不同。

此程式以編譯形式(位於 <Erlang 根目錄>\erts-<版本>\bin 下)和原始碼形式(位於 <Erlang 根目錄>\erts-<版本>\src 下)發布。原始碼的目的是為了方便針對本地需求自訂程式,例如循環重新啟動偵測。還有一個為 Microsoft Visual C++ 隨附的 nmake 程式編寫的 "make"-檔案。但是,這個程式可以使用任何 Win32 C 編譯器進行編譯(可能需要進行一些小的修改)。

此程式有助於 Windows 系統上的發佈處理。該程式將由 erlsrv 程式呼叫,讀取發佈資料檔案 start_erl.data,並啟動 Erlang。start_erl 的某些選項在模擬器重新啟動的升級過程中,由發佈處理器新增和移除(更具體來說是選項 -data)。

start_erl [<erl options>] ++ [<start_erl options>]

原始形式的 start_erl 程式可辨識以下選項

  • ++ - 必須。將 start_erl 選項與正常的 Erlang 選項分隔開來。命令列上 ++ 之前的所有內容都將被解釋為要傳送到 erl 程式的選項。 ++ 之後的所有內容都將被解釋為 start_erl 本身的選項。

  • -reldir <發佈根目錄> - 如果未指定環境變數 RELDIR 且未指定 -rootdir 選項,則為必須。告知 start_erl 發佈樹的根目錄在檔案系統中的位置(通常為 <Erlang 根目錄>\releases)。start_erl.data 檔案預期位於此目錄中(除非另有指定)。如果僅指定了選項 -rootdir,則目錄將被假定為 <Erlang 根目錄>\releases

  • -rootdir <Erlang 根目錄> - 如果未指定 -reldir 且環境中不存在 RELDIR,則為必須。這指定了 Erlang 安裝根目錄(其中包含 libreleaseserts-<版本> 目錄)。如果僅指定了 -reldir(或環境變數 RELDIR),則 Erlang 根目錄將被假定為正好位於發佈目錄上一層的目錄。

  • -data <資料檔案名稱> - 選用。指定 <發佈根目錄> 中除了 start_erl.data 之外的其他資料檔案。它是相對於 <發佈根目錄> 或絕對指定的(包括磁碟機代號等等)。此選項由發佈處理器在升級期間使用,不應在正常操作期間使用。通常,發佈資料檔案不應使用不同的名稱。

  • -bootflags <啟動旗標檔案名稱> - 選用。指定相對於發佈目錄的檔案名稱(也就是 <發佈根目錄> 的子目錄,其中包含 .boot 檔案和其他檔案)。啟動 Erlang 時,此檔案的內容會附加到命令列中。這使得可以輕鬆地使用不同的選項啟動不同發佈版本的模擬器。

注意事項

  • 由於程式碼以原始碼形式發佈,因此可以輕鬆修改以接受其他選項。為了使發佈處理器能夠正確運作,該程式仍然必須接受選項 -data 以及上述語意。
  • Erlang 模擬器是透過檢查發佈資料檔案中指定的模擬器版本的登錄機碼找到的。為了使其能夠運作,必須在升級之前正確安裝新的模擬器。
  • 雖然該程式與特定於模擬器版本的文件位於一起,但預期它不是特定於模擬器版本的。發佈處理器在模擬器重新啟動期間不會將選項 -machine 變更為 erlsrv。請將(可能已自訂的)start_erl 程式放置在升級期間不會被覆寫的位置。
  • erlsrv 程式的預設選項不足以進行發佈處理。由 erlsrv 啟動的機器將被指定為 start_erl 程式,且引數將包含 ++,後接所需的選項。

另請參閱

erlsrv, release_handler