start_erl(1) Erlang Module Definition start_erl(1)

start_erl - راه‌اندازی ارلنگ برای سامانه‌های تعبیه‌شده در سیستم‌های ویندوز

برنامه start_erl مخصوص Windows NT/2000/XP (و نسخه‌های بعدی ویندوز) است. با اینکه برنامه‌هایی با همین نام روی سایر پلتفرم‌ها نیز وجود دارند، عملکرد آن‌ها متفاوت است.

این برنامه هم به صورت کامپایل‌شده (در مسیر <Erlang root>\erts-<version>\bin) و هم به صورت کد منبع (در مسیر <Erlang root>\erts-<version>\src) توزیع می‌شود. هدف از ارائه کد منبع، تسهیل سفارشی‌سازی برنامه برای نیازهای محلی، مانند تشخیص راه‌اندازی مجدد چرخه‌ای است. همچنین یک "make-file" وجود دارد که برای برنامه nmake (عرضه‌شده همراه با Microsoft Visual C++) نوشته شده است. با این حال، این برنامه را می‌توان با هر کامپایلر C مخصوص Win32 (احتمالاً با اعمال تغییرات جزئی) کامپایل کرد.

این برنامه به مدیریت انتشارها (Release Handling) در سیستم‌های ویندوز کمک می‌کند. این برنامه توسط برنامه erlsrv فراخوانی می‌شود، فایل داده‌های انتشار یعنی start_erl.data را می‌خواند و ارلنگ را راه‌اندازی می‌کند. برخی از گزینه‌های start_erl در طول ارتقا همراه با راه‌اندازی مجدد شبیه‌ساز، توسط مدیر انتشار اضافه و حذف می‌شوند (به‌طور خاص گزینه -data).

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

برنامه start_erl در شکل اصلی خود گزینه‌های زیر را تشخیص می‌دهد:

++

اجباری. گزینه‌های start_erl را از گزینه‌های عادی ارلنگ جدا می‌کند. هر آنچه در خط فرمان قبل از ++ قرار گیرد، به عنوان گزینه‌های ارسالی به برنامه erl تفسیر می‌شود. هر آنچه بعد از ++ بیاید، به عنوان گزینه‌های خود start_erl تفسیر خواهد شد.

-reldir <release root>

در صورتی که متغیر محیطی RELDIR و گزینه -rootdir مشخص نشده باشند، اجباری است. به start_erl اعلام می‌کند که ریشه درخت انتشار در کجای فایل‌سیستم قرار دارد (معمولاً <Erlang root>\releases). انتظار می‌رود فایل start_erl.data در این دایرکتوری قرار داشته باشد (مگر اینکه به شکل دیگری تعیین شده باشد). اگر فقط گزینه -rootdir مشخص شده باشد، این دایرکتوری <Erlang root>\releases در نظر گرفته می‌شود.

-rootdir <Erlang root directory>

در صورتی که -reldir مشخص نشده باشد و متغیر RELDIR در محیط وجود نداشته باشد، اجباری است. این گزینه دایرکتوری ریشه نصب ارلنگ را مشخص می‌کند (دایرکتوری که پوشه‌های lib، releases و erts-<Version> در آن قرار دارند). اگر تنها -reldir (یا متغیر محیطی RELDIR) مشخص شده باشد، ریشه ارلنگ دقیقاً یک سطح بالاتر از دایرکتوری انتشار در نظر گرفته می‌شود.

-data <data file name>

اختیاری. فایل داده‌ای غیر از start_erl.data را در <release root> تعیین می‌کند. این مسیر می‌تواند نسبی نسبت به <release root> یا مطلق (شامل حرف درایو و غیره) باشد. این گزینه توسط مدیر انتشار در طول ارتقا استفاده می‌شود و نباید در عملکرد عادی به کار رود. در حالت عادی نیازی به تغییر نام فایل داده‌های انتشار نیست.

-bootflags <boot flags file name>

اختیاری. نام فایلی را به صورت نسبی نسبت به دایرکتوری انتشار مشخص می‌کند (یعنی زیرپوشه‌ای از <release root> که فایل .boot و سایر فایل‌ها در آن قرار دارند). محتویات این فایل هنگام راه‌اندازی ارلنگ به خط فرمان ضمیمه می‌شود. این امر راه‌اندازی شبیه‌ساز با گزینه‌های مختلف برای نسخه‌های انتشار متفاوت را آسان می‌سازد.

•از آنجا که کد منبع توزیع می‌شود، می‌توان به راحتی آن را برای پذیرش گزینه‌های دیگر تغییر داد. برنامه برای اینکه مدیر انتشار به درستی کار کند، همچنان باید گزینه -data را با همان مفاهیم شرح‌داده‌شده در بالا بپذیرد.
•شبیه‌ساز ارلنگ با بررسی کلیدهای رجیستری برای نسخه شبیه‌ساز مشخص‌شده در فایل داده‌های انتشار پیدا می‌شود. شبیه‌ساز جدید باید قبل از ارتقا به درستی نصب شده باشد تا این فرآیند کار کند.
•اگرچه این برنامه در کنار فایل‌های مختص نسخه شبیه‌ساز قرار دارد، اما انتظار نمی‌رود که مختص یک نسخه خاص از شبیه‌ساز باشد. مدیر انتشار در طول راه‌اندازی مجدد شبیه‌ساز، گزینه -machine را برای erlsrv تغییر نمی‌دهد. برنامه start_erl (که احتمالاً سفارشی شده است) را در جایی قرار دهید که در هنگام ارتقا بازنویسی نشود.
•گزینه‌های پیش‌فرض برنامه erlsrv برای مدیریت انتشار کافی نیستند. ماشین راه‌اندازی‌شده توسط erlsrv باید به عنوان برنامه start_erl تعیین شود و آرگومان‌ها باید شامل ++ و به دنبال آن گزینه‌های مورد نظر باشند.

erlsrv, release_handler

erts 17.0.6 Ericsson AB