পরিষ্কারভাবে বলতে গেলে, আমি এমন কোনও কথা বলছি না যার জন্য ইম্যাকগুলি মাল্টিথ্রেড করা উচিত (যদিও এটি সম্ভবত এটি সমাধানও করে)। বংশবৃদ্ধি:
- ইমাস-কিউ # আমি চলমান 24.4.1
- একটি দ্বিতীয় ফ্রেম তৈরি করুন
- প্রথম ফ্রেমে ফিরে যান
- এমএক্স শেল
- এমএক্স-এর নতুন নামকরণ-অনন্যভাবে (আমরা পরে একটি দ্বিতীয় শেল তৈরি করতে যাচ্ছি)
- চলমান শুরু করুন:
while true; do echo "hello world"; done - দ্বিতীয় ফ্রেমে, এমএক্স শেল
দ্বিতীয় শেলটি প্রায়শই প্রদর্শিত হবে না (বারবার চেষ্টা করার পরে এটি খুব কমই কাজ করে)। স্পষ্টতই ইমাসগুলি অন্য কোনও প্রক্রিয়া থেকে আসা আউটপুট শোনার জন্য প্রথম শেলের আউটপুট পড়া থেকে বিরত নেবে না। মুলতুবি আউটপুট সহ একাধিক প্রক্রিয়া থাকাকালীন রবিনের পক্ষে গোলাকার হয়ে ওঠার পক্ষে এটি আরও ভাল আচরণ হবে। উন্নত আচরণের কোনও উপায় আছে কি?
আমি জানি একমাত্র কৌশলটি শেল বাফারকে তার নিজস্ব প্রক্রিয়া বানানো হবে, তবে দুর্ভাগ্যক্রমে এটি আমার পক্ষে কার্যকর হবে না। এমনকি যদি আমি এটি করি তবে আমার স্পিচ স্বীকৃতি সফ্টওয়্যারটি কাজ করার জন্য একটি সকেট শোনার জন্য আমাকে একটি সাব প্রসেস চালাতে হবে যাতে আমি প্রথমে শেলটি নিয়ন্ত্রণ করতে পারি, আমি এটি আবিষ্কার করেছি; উপরের মতো অসীম লুপ চালানো কোনও তথ্যকে সকেট থেকে সরাতে বাধা দেয়।
start-processএকটিset-process-filterএবং এ ব্যবহার করতে চাইset-process-sentinel- এটি প্রক্রিয়া চলাকালীন আমাকে অন্য জিনিসগুলি করতে আমার আনন্দময় পথে যেতে দেয় - এমনকি আমি আমার আউটপুটটি মাঝে মাঝে*Messages*বাফারেও প্রেরণ করিinsertযাতে আমার প্রতিধ্বনির ক্ষেত্রটি নিরবচ্ছিন্ন থাকে বা আমি ব্যবহার করি একটি ডেডিকেটেড প্রক্রিয়া আউটপুট বাফার (যদি প্রয়োজন হয়)। উদাহরণস্বরূপ, আমি একটি দীর্ঘrsyncঅধিবেশন চালাতে পারি । একাধিক যুগপত / দীর্ঘায়িত করার চেষ্টা করার আমার কোনও অভিজ্ঞতা নেইstart-process, সুতরাং আমি নিশ্চিত নই যে ইমাসগুলি কীভাবে তাদের সমস্ত কিছু পরিচালনা করবে।