শরীরে এখানে রাখার মতো বেশি কিছু নেই।
শরীরে এখানে রাখার মতো বেশি কিছু নেই।
উত্তর:
প্রক্রিয়াগুলির একটি প্যারেন্ট (পিপিআইডি) থাকা দরকার। কার্নেল, সত্যিকারের প্রক্রিয়া না হওয়া সত্ত্বেও, কিছু বাস্তব প্রক্রিয়া হ্যান্ডক্র্যাফ্ট করছে কমপক্ষে init হিসাবে, এবং নিজেকে প্রক্রিয়া আইডি দিচ্ছে 0.. ওএসের উপর নির্ভর করে এটি ps
আউটপুটে একটি প্রক্রিয়া হিসাবে প্রদর্শিত হতে পারে বা সর্বদা প্রদর্শিত হয় পিপিআইডি হিসাবে:
যেমন লিনাক্স:
$ ps -ef|head
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 09:09 ? 00:00:00 /sbin/init
root 2 0 0 09:09 ? 00:00:00 [kthreadd]
root 3 2 0 09:09 ? 00:00:00 [ksoftirqd/0]
...
সোলারিসে:
$ ps -ef|head
UID PID PPID C STIME TTY TIME CMD
root 0 0 0 Oct 19 ? 0:01 sched
root 5 0 0 Oct 19 ? 11:20 zpool-rpool1
root 1 0 0 Oct 19 ? 0:13 /sbin/init
root 2 0 0 Oct 19 ? 0:07 pageout
root 3 0 1 Oct 19 ? 117:10 fsflush
root 341 1 0 Oct 19 ? 0:15 /usr/lib/hal/hald --daemon=yes
root 9 1 0 Oct 19 ? 0:59 /lib/svc/bin/svc.startd
...
নোট যে PID 0
(এবং -1
এবং যে বিষয়টি জন্য অন্যান্য নেতিবাচক মান) ফাংশন ব্যবহার তাদের পছন্দ কি উপর নির্ভর করে ভিন্ন অর্থ আছে kill
, fork
এবং waitpid
।
শেষ init
অবধি #1
, প্রক্রিয়াটি traditionতিহ্যগতভাবে পিড দেওয়া হলেও, যখন সোলারিস জোনের মতো ওএস স্তরের ভার্চুয়ালাইজেশন ব্যবহৃত হয় তখন এটি আর হয় না কারণ একাধিক init
চলমান থাকতে পারে :
$ ps -ef|head
UID PID PPID C STIME TTY TIME CMD
root 4733 3949 0 11:07:25 ? 0:26 /lib/svc/bin/svc.configd
root 4731 3949 0 11:07:24 ? 0:06 /lib/svc/bin/svc.startd
root 3949 3949 0 11:07:14 ? 0:00 zsched
daemon 4856 3949 0 11:07:46 ? 0:00 /lib/crypto/kcfd
root 4573 3949 0 11:07:23 ? 0:00 /usr/sbin/init
netcfg 4790 3949 0 11:07:34 ? 0:00 /lib/inet/netcfgd
root 4868 3949 0 11:07:48 ? 0:00 /usr/lib/pfexecd
root 4897 3949 0 11:07:51 ? 0:00 /usr/lib/utmpd
netadm 4980 3949 0 11:07:54 ? 0:01 /lib/inet/nwamd
বিশেষভাবে বিশিষ্ট প্রক্রিয়া আইডি সহ দুটি কাজ রয়েছে: অদল বদলকারী বা সময়সূচীটিতে প্রসেস আইডি 0 রয়েছে এবং পেজিংয়ের জন্য দায়ী, যেমন জালিয়াগ্র্রে আগে উদাহরণগুলিতে রাখা হয়েছে এবং এটি সাধারণ ব্যবহারকারী-মোড প্রক্রিয়াটির পরিবর্তে কার্নেলের অংশ।
প্রসেস আইডি 1 সাধারণত প্রাথমিকভাবে সিস্টেমটি শুরু এবং বন্ধ করার জন্য দায়বদ্ধ প্রক্রিয়া হয়। মূলত, প্রসেস আইডি 1 কোনও প্রযুক্তিগত পদক্ষেপের দ্বারা আরম্ভের জন্য বিশেষভাবে সংরক্ষিত ছিল না: কার্নেলের দ্বারা আনা প্রথম প্রক্রিয়া হওয়ার প্রাকৃতিক পরিণতি হিসাবে এটি কেবল এই আইডি ছিল had আরও সাম্প্রতিক ইউনিক্স সিস্টেমে সাধারণত অতিরিক্ত কার্নেল উপাদানগুলি 'প্রসেস' হিসাবে দৃশ্যমান থাকে, ক্ষেত্রে পিআইডি 1 পুরানো সিস্টেমের সাথে ধারাবাহিকতা বজায় রাখার জন্য init প্রক্রিয়াটির জন্য সক্রিয়ভাবে সংরক্ষিত থাকে।
সাধারণত, 0 টি প্রায়শই 'নাল রেফারেন্স' বোঝাতে ব্যবহৃত হয়। এর অর্থ হ'ল 0 মান বিদ্যমান থাকলেও আপনি এটি ব্যবহার করতে পারবেন না কারণ আপনি শূন্য একটি বিশেষ মান বোঝাতে চান।
pid
0 এরkill(2)
সিস্টেম কলের জন্য একটি বিশেষ অর্থ রয়েছে যেখানে এটি আমার এবংwaitpid(2)
যেখানে এটির জন্য অন্তত আমার প্রক্রিয়া গ্রুপের কোনও প্রক্রিয়া বোঝায় । উল্লেখ না করা যেfork()
ফিরে আসার0
অর্থ হল আমরা সন্তানের মধ্যে আছি।