সুন্দর এবং শিশু প্রক্রিয়া


22

কেউ আমাকে বলতে পারেন যে একটি নির্দিষ্ট niceস্তর এবং শিশু প্রক্রিয়াগুলির মধ্যে সম্পর্ক কী ?

উদাহরণস্বরূপ, যদি আমি একটি ডিফল্ট আছে niceএর 0, এবং আমি সঙ্গে একটি স্ক্রিপ্ট শুরু nice 5, যেটা ঘুরে ফিরে কিছু চাইল্ড প্রসেস আরম্ভ (সমান্তরাল মধ্যে 20 সম্পর্কে এই ক্ষেত্রে), সন্তানের প্রক্রিয়ার চমৎকার কি?


1
কেবলমাত্র রুট ব্যবহারকারী কোনও প্রক্রিয়াটির বিশেষত্ব হ্রাস করতে পারে এবং যে কোনও বুদ্ধিমান forkপ্রয়োগে মানগুলি শিশু প্রক্রিয়াগুলির দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হয় ।
jw013

@ jw013 - স্পষ্টতার জন্য, আমি স্ক্রিপ্ট করছি, &বাচ্চাদের প্রক্রিয়াগুলি স্প্যান করতে ব্যবহার করছি, c& ব্যবহার করছি না fork
NWS

3
আপনি যদি কোনও ইউনিক্স / লিনাক্স ওএসে না থাকেন তবে আপনার শেলটি ব্যাকগ্রাউন্ড প্রক্রিয়া দ্বারা প্রসারিত এটি মোটামুটি নিরাপদ বাজি fork
jw013

উত্তর:


28

একটি শিশু প্রক্রিয়া niceপিতা বা মাতার হাতে যে পরিমাণ মান ধারণ করা হয় সেই সময়ে উত্তরাধিকার সূত্রে প্রাপ্ত হয় (আপনার উদাহরণে, 5)।

যাইহোক, niceবাচ্চাদের প্রক্রিয়াগুলি কাঁপানোর পরে পিতামাতার প্রক্রিয়ার মান পরিবর্তিত হলে, শিশু প্রক্রিয়াগুলি নতুন niceমানটির উত্তরাধিকারী হয় না ।

আপনি এটি নিরীক্ষণ সরঞ্জামের সাহায্যে সহজেই পর্যবেক্ষণ করতে পারেন top। যদি niceক্ষেত্রটি (এনআই) ডিফল্টরূপে না দেখানো হয় তবে আপনি টিপতে fএবং চয়ন করে এটি যুক্ত করতে পারেন I। এটি প্রদর্শনে NIকলাম যুক্ত করবে top

* I: NI = Nice value

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1937 root      20   0  206m  66m  45m S  6.2  1.7  11:03.67 X                                         

থেকে ভাল তথ্য man 2 fork

কাঁটাচামচ () কলিং প্রক্রিয়াটির সদৃশ করে একটি নতুন প্রক্রিয়া তৈরি করে। শিশু হিসাবে উল্লেখ করা নতুন প্রক্রিয়াটি হ'ল কলিং প্রক্রিয়াটির সঠিক নকল, যা নিম্নলিখিত পয়েন্টগুলি বাদে অভিভাবক হিসাবে উল্লেখ করা হয়:

  • সন্তানের নিজস্ব অনন্য প্রক্রিয়া আইডি রয়েছে এবং এই পিআইডি কোনও বিদ্যমান প্রক্রিয়া গোষ্ঠীর আইডিটির সাথে মেলে না (সেটপজিড (2))।
  • সন্তানের পিতামাতার প্রক্রিয়া আইডি পিতামাতার প্রক্রিয়া আইডির সমান।
  • শিশু তার পিতামাতার মেমরি লকগুলি (মলক (2), মলোকল (2)) উত্তরাধিকার সূত্রে পায় না।
  • প্রক্রিয়া সংস্থান ব্যবহার (গেট্রাসেজ (2)) এবং সিপিইউ টাইম কাউন্টার (বার (2)) সন্তানের শূন্যে পুনরায় সেট করা হয়।
  • সন্তানের মুলতুবি সংকেতগুলির সেট প্রাথমিকভাবে খালি (সিগপেন্ডিং (2))।
  • শিশুটি তার পিতামাতার (সেমপ (2)) এর থেকে সেমফোর অ্যাডজাস্টের উত্তরাধিকারী হয় না।
  • শিশু তার পিতামাতার (fcntl (2)) এর রেকর্ড লকগুলির উত্তরাধিকারী নয়।
  • শিশু তার পিতামাতার (সেটিটাইমার (2), অ্যালার্ম (2), টাইমার_ক্রিয়েট (2)) এর কাছ থেকে টাইমার উত্তরাধিকার করে না।
  • শিশু তার পিতামাতার (aio_read (3), aio_writ (3)) এর কাছ থেকে অসামান্য I / O অপারেশনগুলির উত্তরাধিকারী হয় না, বা এটি তার পিতামাতার কাছ থেকে কোনও অ্যাসিনক্রোনাস আই / ও প্রসঙ্গের উত্তরাধিকারী হয় না (দেখুন io_setup (2))।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.