প্রক্রিয়াটির কোনও পিতা-মাতা নেই কিনা তা নির্ধারণ করার জন্য আমি উইন্ডোজ কমান্ড লাইনের মাধ্যমে কোনও উপায় বের করার চেষ্টা করছি।
আমি জানি যে সমস্ত প্রক্রিয়াগুলির প্রযুক্তিগতভাবে কোনও পিতা-মাতা থাকে যা ওএস বা যে কোনও কিছু দ্বারা নিয়ন্ত্রিত হয়, তবে সরলতার জন্য এটির "কোনও পিতামাতা নেই"। উদাহরণস্বরূপ, আপনি যদি একটি এক্সপ্লোরার উইন্ডো খোলেন, তবে এটি প্রক্রিয়া গাছের শীর্ষে প্রসেস এক্সপ্লোরারে প্রদর্শিত হবে।
আমি যখন প্রক্রিয়াটিতে একটি ডাব্লুমিক কোয়েরি করি তবে আমি 'প্যারেন্টপ্রসেসপিআইডি' এর জন্য একটি পিআইডি পাই। যখন আমি চেষ্টা করি এবং টাসলিস্ট ব্যবহার করে সেই পিআইডি সন্ধান করি তখন এটি বলে যে পিআইডি স্বীকৃত নয়। আমি এর মতো বেশ কয়েকটি প্রক্রিয়া দেখেছি এবং তাদের কাছে বিভিন্ন প্যারেন্ট প্রসেস রয়েছে যা টাস্কলিস্টের মাধ্যমে সমস্ত অ্যাক্সেসযোগ্য। যদি কোনও প্রক্রিয়াটির কোনও প্যারেন্ট প্রক্রিয়া থাকে যা টাসলিস্টের মাধ্যমে অ্যাক্সেসযোগ্য হয়, তার মানে কি এটির প্রক্রিয়া গাছের "শীর্ষে" রয়েছে?
আমি জিজ্ঞাসা করছি কারণ আমি নিজে চালিত একটি প্রোগ্রাম এবং অন্য প্রোগ্রামের শিশু প্রক্রিয়া হিসাবে চলমান একই প্রোগ্রামের মধ্যে পার্থক্য করার চেষ্টা করছি।
উদাহরণ স্বরূপ:
ধরা যাক আমি উইন্ডোজ স্টার্ট মেনুতে গিয়ে একটি এক্সপ্লোরার উইন্ডো খুলি। তারপর, আমি একটি cmd কমান্ড উইন্ডো এবং টাইপ খুলুন: explorer.exe
। আমার এখন দুটি এক্সপ্লোরার এক্সেক্স প্রক্রিয়া রয়েছে। একটি হল cmd.exe এর শিশু প্রক্রিয়া এবং একটি হ'ল একা একা থাকা প্রক্রিয়া। আমি একটি ডাব্লুমিক বা টাসিস্টলিস্ট ক্যোয়ারির মাধ্যমে, সমস্ত explorer.exe
প্রক্রিয়াগুলি একা একা একা করার জন্য সক্ষম হতে চাই । সুতরাং, আমি উইন্ডোজ স্টার্ট মেনু দিয়ে যে প্রক্রিয়াটি শুরু করেছি তা ফিরে আসা উচিত এবং প্রক্রিয়াটি cmd.exe দ্বারা শুরু করা উচিত নয়।
আমি এই সমস্যাটিতে চলে আসছি যে প্রতিটি প্রক্রিয়াটির একটি প্যারেন্ট প্রসেস আইডি থাকে এবং আমি কোনও প্রোগ্রাম থেকে আসা পিতামাতার প্রক্রিয়া এবং ওএস সম্পর্কিত কোনও প্রক্রিয়া থেকে আসা পিতামাতার প্রক্রিয়াটির মধ্যে কীভাবে পার্থক্য করতে হয় তা আমি জানি না। আমি যদি নিম্নলিখিতগুলি করতে পারি তবে তা দুর্দান্ত হবে:
pseudocode:
wmic process where name=explorer.exe get parentProcessID,processID
tasklist /fi "PID eq <parentProcessID>" 2>&1> log.txt
if(log.txt contains "INFO: No tasks are running which match the specified criteria."){
// Parent PID is not recognized by tasklist
// Do something
}
তবে আমার যুক্তি সঠিক কিনা তা সম্পর্কে আমি নিশ্চিত নই।