আমি সাব-শেল তৈরির জন্য বাশ বিধিটিকে ভুল বুঝেছি বলে মনে হচ্ছে। আমি ভেবেছিলাম প্রথম বন্ধনী সর্বদা একটি সাবশেল তৈরি করে যা এটি নিজস্ব প্রক্রিয়া হিসাবে চলে।
যাইহোক, এটি মনে হয় না। কোড স্নিপেট এ (নীচে) এ, দ্বিতীয় sleep
কমান্ডটি পৃথক শেলটিতে চালিত হয় না ( pstree
অন্য টার্মিনালের দ্বারা নির্ধারিত )। যাইহোক, কোড স্নিপেট বি, SECOND sleep
কমান্ড নেই আলাদা শেল চালানো। স্নিপেটগুলির মধ্যে পার্থক্যটি হ'ল দ্বিতীয় স্নিপেটের প্রথম বন্ধনীর মধ্যে দুটি কমান্ড রয়েছে।
সাবস্কেলগুলি কখন তৈরি হয় তার জন্য কেউ দয়া করে নিয়মটি ব্যাখ্যা করতে পারেন?
কোড স্নিপেট এ:
sleep 5
(
sleep 5
)
কোড স্নিপেট বি:
sleep 5
(
x=1
sleep 5
)
fork
এবং কলিংয়ের মাধ্যমে শিশু প্রক্রিয়া তৈরি হয় (বাহ্যিক আদেশগুলি কার্যকর করতে)fork + exec
। তবে আপনার প্রথম প্যারাটি সুপারিশ করে যেfork + exec
এটি সাবসেলের জন্যও ডাকা হয়। এখানে আমি কী ভুল করছি?