হুডের অধীনে কি ঘটে যখন আমি অন্য প্রোগ্রামিং ভাষাতে একটি কমান্ড লাইন প্রোগ্রাম চালাতে পারি?


2

কিছু প্রোগ্রামিং ভাষাগুলিতে সিস্টেম () exec () কল থাকে যেখানে আমি কমান্ড চালাতে পারি। আমি কি যে যখন ঠিক কি ঘটবে? যদি আমি সিস্টেম চালাই ("ls") এটি স্ট্রিংয়ে একটি ব্যাশ ইন্টারপ্রেটার চালায়? এটি একটি অপারেটিং সিস্টেম কল করতে না? যখন এটি এমন একটি প্রোগ্রাম যা ঘটে তখন কী হয় যা ক্রমাগত ডাম্পিংয়ের পরিবর্তে টার্মিনাল স্ক্রীনটি সংশোধন করে?

আমি কিভাবে জিজ্ঞাসা সত্যিই নিশ্চিত নই। এটা কিভাবে কাজ করে সে সম্পর্কে আমি আরও জানতে পারি?

উত্তর:


4

এই পৃষ্ঠাটি বেশ ভাল বর্ণনা করে

http://pubs.opengroup.org/onlinepubs/009604499/functions/system.html

যদি কমান্ড একটি নাল পয়েন্টার হয়, তবে সিস্টেম () ফাংশন নির্ধারণ করবে যে হোস্ট পরিবেশে একটি কমান্ড প্রসেসর আছে কি না। যদি কমান্ড একটি নিল পয়েন্টার না হয়, তবে সিস্টেম () ফাংশনটি কমান্ড প্রসেসরের কমান্ড দ্বারা নির্দেশিত স্ট্রিংটি কার্যকর করবে যা বাস্তবায়ন-সংজ্ঞায়িত পদ্ধতিতে কার্যকর করা হবে; এটি তখন প্রোগ্রাম কলিং সিস্টেম () কে একটি অ-রূপান্তরিত পদ্ধতিতে আচরণ বা বাতিল করতে পারে।

সুতরাং হ্যাঁ এটি একটি ব্যাশ ইন্টারপ্রেটার আহ্বান করে, এটি প্রদান করে যে এটি এই সিস্টেমে সি স্ট্যান্ডার্ড লাইব্রেরির বাস্তবায়ন দ্বারা নির্ধারিত কমান্ড প্রসেসর। একটি শিশু প্রক্রিয়া তৈরি করা হয় যখন কমান্ড মৃত্যুদন্ড কার্যকর করা হয়।

সম্পাদনা করুন: এটি সি এর জন্য নির্দিষ্ট, অন্যান্য ভাষা ভিন্নভাবে কাজ করতে পারে তবে এটি সাধারণত এটির মতো


1
অনেক ভাষার একটি কল হবে যা সরাসরি এই ফাংশনে মানচিত্র করে (যেহেতু অনেক রানটাইম / দোভাষীগুলি সি তে লেখা হয়), তবে তারা এমন কিছু প্রস্তাবও দিতে পারে যা সামান্য ভিন্নভাবে কাজ করে।
Jeremy

0

আপনি যে ভাষাটি ব্যবহার করছেন তার উপর নির্ভর করে এই ফাংশন কলগুলি আলাদাভাবে প্রয়োগ করা যেতে পারে। যাইহোক, সাধারণভাবে, তারা যা করবে তা হল ফাঁকা একটি নতুন প্রক্রিয়া শেল চালানো এবং তারপরে আপনার কমান্ড চালানো। প্রক্রিয়াটি একবার সম্পন্ন হওয়ার পরে, এটি শেষ হয়ে যায় এবং আপনার প্রোগ্রামটি যেটি ফেরত মান নির্ধারণ করে তা ভাষাটি পাবে (সাধারণত এটি একটি রিটার্ন কোড, বা প্রোগ্রাম চালিত প্রোগ্রামের মানক আউটপুট)।

যেহেতু এটি কমান্ডটি চালানোর জন্য একটি নতুন প্রক্রিয়া তৈরি করে, তাই এটির আচরণ আপনার নিজের প্রোগ্রামের রানটাইম পরিবেশকে প্রভাবিত করবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.