যদি আমরা টাইপ করি ps -ef
তবে আমরা প্রক্রিয়াগুলির একটি তালিকা পাই। পিআইডি নম্বর কেন অবিচ্ছিন্ন নয়?
যদি আমরা টাইপ করি ps -ef
তবে আমরা প্রক্রিয়াগুলির একটি তালিকা পাই। পিআইডি নম্বর কেন অবিচ্ছিন্ন নয়?
উত্তর:
উবুন্টুতে তারা অবিচ্ছিন্ন। অন্যান্য অপারেটিং সিস্টেমে এটি পৃথক হতে পারে।
কার্নেল (RESERVED_PIDS, PID_MAX_DEFAULT) এর ব্যাপ্তিতে PIDs বরাদ্দ করে। এটি প্রতিটি নেমস্পেসে যথাক্রমে করে (বিভিন্ন নেমস্পেসের কার্যগুলিতে একই আইডি থাকতে পারে)। যদি পরিসীমাটি নিঃশেষ হয়ে যায়, পিড অ্যাসাইনমেন্টটি প্রায় গুটিয়ে যায়।
( /programming/3446727/how-does-linux-determine-t--xt-pid )
মন যদিও ...
স্ট্যাকওভারফ্লো সম্পর্কিত কিছু বিষয়:
মন্তব্যগুলিতে পিআইডিগুলির দায়িত্ব পরীক্ষা করার জন্য একটি আদেশ রয়েছে:
for i in {1..20}; do sh -c 'echo $$'; done
সাধারণত পিআইডি অবিচ্ছিন্ন থাকে তবে আপনি কমান্ডটি চালানোর সময় কিছু প্রক্রিয়া মারা যায় ps -ef
।
এছাড়াও কিছু প্রক্রিয়া অন্য একটি প্রক্রিয়ার কেবলমাত্র একটি উপ-প্রসেস হতে পারে যা ps -ef
কমান্ডে প্রদর্শিত হয়নি । কিছু প্রসারিত ফলাফল দেখতে এবং আপনি নিরবচ্ছিন্ন পিআইডি চেক করতে পারেনpstree
pstree -p
নমুনা আউটপুট:
├─teamviewerd(3468)─┬─{teamviewerd}(3474)
│ ├─{teamviewerd}(3475)
│ ├─{teamviewerd}(3476)
│ ├─{teamviewerd}(3477)
│ ├─{teamviewerd}(3478)
আপনি যদি চালান তবে ps -ef
কেবল পিতামাতার প্রক্রিয়াটি দেখুন।
$ ps -ef | grep teamviewerd
root 3468 1 0 Jul15 ? 00:07:38 /opt/teamviewer9/tv_bin/teamviewerd -f