এটি সমস্যাটিকে অন্য দৃষ্টিকোণ থেকে বুঝতে সহায়তা করতে পারে .. ধরা যাক আপনি সেই প্রোগ্রামার যাকে উইন্ডোজটিতে একটি টাস্ক শিডিয়ুলার যুক্ত করার জন্য অভিযুক্ত করা হয়েছিল। তুমি এটা কি ভাবে করবে? আপনার সাথে লড়াই করতে বেশ কয়েকটি সমস্যা রয়েছে: লগ-ইন করা ব্যবহারকারী ব্যতীত অন্য কারও মতো যদি টাস্কটি চালানো হয়, তবে কোনও ত্রুটি পপআপের সাহায্যে লগ-ইন করা ব্যবহারকারীকে বিরক্ত করা উচিত? টাস্কটি চালানোর সময় কোনও লগইন না থাকলে কী হবে? জিইউআই প্রোগ্রাম এবং কনসোল প্রোগ্রামের মধ্যে পার্থক্য সম্পর্কে কী? জিইউআইয়ের স্টিডিন, স্টাডআউট এবং স্টাডার নেই; ধারণা তাদের অর্থহীন। COMMAND.COM/CMD.EXE এর অভ্যন্তরীণ বা বহিরাগত প্রোগ্রামগুলি সম্পর্কে কী? বা অন্যান্য স্ক্রিপ্টিং ইঞ্জিনগুলি? কমান্ড নামের ফাঁকা স্থানগুলির সাথে কী হবে? বা পরামিতিগুলিতে (বিকল্প / যুক্তি)? (আপনি এখন যেমন মোকাবেলা করার চেষ্টা করছেন ..)
যদিও আমি এই ক্ষেত্রে ইন্টার্নাল বা সম্পূর্ণ প্রযুক্তিগত বিশদ সম্পর্কে 100% নিশ্চিত নই, উত্তরগুলি বলে মনে হচ্ছে .. কার্যগুলি একটি বিচ্ছিন্ন, অ-ইন্টারেক্টিভ সেশনে চালানো হয়, যা বর্তমানে লগ ইন করা ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করতে পারে না (যদি থাকে তবে ); এটি কোনও কনসোল আউটপুট না হওয়ার প্রত্যাশা চালিয়ে যাচ্ছে, যেহেতু এটি অ-ইন্টারেক্টিভ, এটি আউটপুটটি দেখানোর জন্য কোনও লগইন হওয়া কোনও ব্যবহারকারীকে বাধা দিতে পারে না (এবং যদি আউটপুট থাকে তবে স্টিডিন বিটবাকেট / এনইউএল, স্টাডআউট এবং স্টার্ডার লগইন হয়) সিস্টেম লগিং সুবিধা); সমস্যাটি বাইপাস করে স্পেসগুলি পরিচালনা করা হয়: কমান্ডের নামটি হুবহু নেওয়া হয় হয়, এবং কমান্ডের সাথে পরামিতিগুলি পাস করার পরে টাস্ক বৈশিষ্ট্যের অন্য ইনপুট বাক্সে নির্দিষ্ট করা হয়।
সমস্ত উপায় হ'ল আপনার কাজটি এমনভাবে চালানো হবে যেন এটি ডেমনের মতো (আন * এক্স ওয়ার্ল্ডে)। সবকিছু স্থির এবং সুনির্দিষ্ট। কমান্ডের নামটি হ'ল আসল কমান্ডের নাম, কোনও পরামিতি ছাড়াই। এর মধ্যে প্রায়শই চলমান কমান্ড / স্ক্রিপ্ট ইন্টারপ্রেটারদের অন্তর্ভুক্ত থাকে যেমন সিএমডি.এক্সই! প্যারামিটারগুলি, যদি কোনও হয় তবে অন্য কোথাও নির্দিষ্ট করা থাকে এবং আপনি যখন টাস্কটি সেট আপ করবেন তখন অবশ্যই তা অবশ্যই জানতে হবে (অর্থাত্ "দ্য ফ্লাইটে" প্যারামিটারগুলি পরিবর্তন করতে পারবেন না)। ইত্যাদি।
সুতরাং, আপনি যদি প্যারামিটারগুলি অন্তর্ভুক্ত করতে চান তবে আপনাকে পরামিতিগুলি নির্দিষ্ট করতে পরামিতি বিভাগটি ব্যবহার করতে হবে। টাস্ক শিডিয়ুলার করে নাকমান্ডের নামটিকে "কমান্ড" এবং "আরগস" - এ ভাগ করতে যেমন কমান্ড লাইন প্রোগ্রামগুলি ভাগ করে দেখুন। এটি এটিকে একটি বড়, পুরো কমান্ডের নাম হিসাবে বিবেচনা করে। তেমনিভাবে, আপনি যদি ব্যাচ ফাইলগুলিতে% 1 ..% n ব্যবহার করার মতো চলক পরামিতিগুলি চান তবে আপনি নিজেই টাস্ক শিডিয়ুলার থেকে এটি করতে পারবেন না; আপনাকে অন্য কোনও উপায় খুঁজে বের করতে হবে। (মনে রাখবেন যে আপনি পরিবেশের ভেরিয়েবলগুলি ব্যবহার করতে পারবেন না, যেহেতু প্রোগ্রামটিতে পরিবেশ পরিবেশটি পরিবেশের উপর নির্ভর করে টাস্কটি "বর্তমান" পরিবেশের সাথে শুরু করা হয়নি তার উপর নির্ভর করে।) পরামিতিগুলি সংরক্ষণ করার জন্য আপনি একটি অস্থায়ী ফাইল ব্যবহার করতে পারেন তবে আপনি যেহেতু টাস্ক বৈশিষ্ট্যগুলিতে অবশ্যই একটি স্থিতিশীল ফাইলের নাম নির্দিষ্ট করতে হবে, আপনি যখন 5000 ব্যবহারকারী এবং তাদের মধ্যে চারজন একই সাথে একই টাস্কটি চালানোর চেষ্টা করেন তখন আপনি কী হন? তারা সবাই একে অপরকে একই সময়ে একই টেম্প ফাইলটিতে লেখার চেষ্টা করবে, সম্ভবত আপনি যা চেয়েছিলেন তা নয়। (এই সমস্যার সমাধানগুলিও রয়েছে, তবে এটি এই প্রশ্ন ও উত্তরের ক্ষেত্রের বাইরে চলে গেছে ..)
সুতরাং চূড়ান্ত উত্তর: সহজ ক্ষেত্রে - আপনি প্যারামিটার হিসাবে যে পথটি পাস করতে চান তা স্থির এবং পরিবর্তিত হয় না - আপনাকে প্রোগ্রাম / স্ক্রিপ্ট বাক্সের পরিবর্তে উপযুক্ত টাস্ক সম্পত্তি (যুক্তি )গুলিতে প্যারামিটারগুলি নির্দিষ্ট করতে হবে have , বা ব্যাচ ফাইল ব্যবহার করুন। আরও জটিল ক্ষেত্রে - আপনাকে সঠিক প্রশ্ন জিজ্ঞাসা করতে হবে বা ডেমোনগুলি কীভাবে কাজ করবে এবং কীভাবে লকিং / সেমোফোরস ব্যবহার করতে হবে এবং আন্তঃ প্রক্রিয়া যোগাযোগের জন্য আইপিসি প্রয়োজন তা গবেষণা করতে হবে।
শুভকামনা।