سؤال

لدي خادم ويب أساسي قمت بإنشائه من إطار عمل Mochiweb. لبدء ذلك ، استخدم start.sh البرنامج النصي الذي ينشئه الإطار تلقائيًا. كل شيء يعمل بشكل جيد ويبدأ الخادم. الآن لدي خادم Mochiweb آخر أريد أن أبدأ مع الخادم الأول. مرة أخرى ، يبدأ هذا في قائمة مستقلة تمامًا مع start.sh النصي.

لذا فإن ما فعلته هو إنشاء برنامج نصي يدعو البرامج النصية للبدء في كل من خوادم Mochiweb من هذا البرنامج النصي كعمليات خلفية ، شيء مثل:

serverOne/start.sh &
serverTwo/start.sh &

عندما أقوم بتشغيل البرنامج النصي ، يبدو أن كلا الخادمين يبدأان بشكل طبيعي ، ولكن بعد بدء تشغيله مباشرة ، يبدو أنهما يتلقون إشارة خروج ويتم إيقافهما. لدي شعور بأن هذا يرجع إلى إنهاء نظام التشغيل (Ubuntu) العمليات التي يولد ملف البرنامج النصي الرئيسي لتشغيل البرامج النصية للبدء. أو هل يمكن أن يكون هناك أي سبب آخر؟ ماذا علي أن أفعل لحل هذا؟ كيف أبدأ الخادمين بملف نص واحد؟

الآن يترك ملف البرنامج النصي مع السطر الأخير يقول:

(nodeServer1@MyServ)1> *** Terminating erlang (nodeServer1@MyServ)
 .
 .
 .
(nodeServer2@MyServ)1> *** Terminating erlang (nodeServer2@MyServ)
هل كانت مفيدة؟

المحلول

حصلت عليها العمل!

أضفت أ -noshell حجة إلى البرنامج النصي Start الذي تم إنشاؤه بواسطة إطار عمل Mochiweb. والآن أنا قادر على تشغيل كل من البرامج النصية للبدء من نص آخر دون مشاكل. كانت المشكلة في وقت سابق أعتقد أنها بدأت قذيفة ERL التي تم إنهاءها بمجرد بدء تشغيل خادم الويب في النهاية في إغلاق خادم Mochiweb أيضًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top