মৃত সম্পত্তি দেখতে পাওয়া সম্ভব?


13

ইন man ps, এটি স্পষ্টভাবে লিনাক্সে একটি প্রক্রিয়া থাকতে পারে বিভিন্ন রাজ্যগুলিতে উল্লেখ করে।

D    Uninterruptible sleep (usually IO)
R    Running or runnable (on run queue)
S    Interruptible sleep (waiting for an event to complete)
T    Stopped, either by a job control signal or because it is being traced.
W    paging (not valid since the 2.6.xx kernel)
X    dead (should never be seen)
Z    Defunct ("zombie") process, terminated but not reaped by its parent.

এমনকি যদিও Xএকটি প্রক্রিয়া রাষ্ট্র, এটি কখনই দেখা উচিত নয়। তবে এটা কি সঠিক? প্রক্রিয়াতে একটি রাষ্ট্র হিসাবে এটি দেখার কোনও তাত্ত্বিক উপায় আছে কি? না এটি পুরোপুরি 100% অসম্ভব?


2
ম্যান পেজে থাকা উচিত এবং এর ব্যবহারটি বোঝায় যে এটি দেখতে পারা সম্ভব। কীভাবে বা কখন হবে তা আমার কোনও ধারণা নেই।
টেরডন

উত্তর:


7

লিনাক্স কার্নেলটিতে আমি এটির অভ্যন্তরীণ মূলটিতে কীভাবে কাজ করে বা কোনও বড় সি জ্ঞান ছাড়াই কিছুটা ডুব নিয়েছি। সুতরাং দয়া করে এই তত্ত্বটি দিয়ে সুন্দর হন :)

DEADরাষ্ট্র সংজ্ঞায়িত করা হয় https://github.com/torvalds/linux/blob/master/fs/proc/array.c#L141 এবং ব্যবহার করা হয় https://github.com/torvalds/linux/blob/master/fs /exec.c#L974 কেবল ফেরতের স্থিতি দিতে। সুতরাং এটির সন্ধান করার একমাত্র উপায় হ'ল আপনি যদি https://github.com/torvalds/linux/blob/master/fs/exec.c#L986 এর আগে প্রক্রিয়া স্থিতি পরীক্ষা করেন (বা পরে যেখানেই এই ফাংশনটি ডেকে আনা হবে থেকে ..)।

আপনি যদি কোনও মৃত প্রক্রিয়া হত্যার চেষ্টা করেন তবে এটির যত্ন নেওয়া হবে এবং https://github.com/torvalds/linux/blob/master/kernel/signal.c#L1363 এ অবহেলা করা হবে

তাত্ত্বিকভাবে ... আমি মনে করি উত্তরটি হ্যাঁ। রাষ্ট্র হিসাবে এক্সকে তাত্ত্বিকভাবে দেখা যেতে পারে, তবে সম্ভবত বাস্তবে কখনও হয়নি ..

দয়া করে / যেখানে আমি ভুল হলে আমাকে সংশোধন করুন .. আমি এ সম্পর্কে মোটেও নিশ্চিত নই ..


2
আমি এটির সাথে দেখতে পাচ্ছিuntil sleep 0.4 & perl -e '$p = shift; while (1) {open A, "</proc/$p/stat" or last; $_=<A>; print}' $! | grep X; do :; done
স্টাফেন চ্যাজেলাস

প্রক্রিয়াটি (/proc/.../stat এর আউটপুট) দেখতে কেমন তা এখানে রয়েছে; 4603 (sleep) X 0 -1 -1 0 -1 4202508 0 0 0 0 0 0 0 0 20 0 0 0 175042279 0 0 0 0 0 0 0 0 0 0 0 0 18446744071579306375 0 0 17 0 0 0 0 0 0.. প্রশ্নের উত্তর। এক্স সম্ভব! ধন্যবাদ!
xeor

1

আমরা সবেমাত্র একটি লাইভ সিস্টেমে প্রবেশ করলাম তার একটির প্রমাণ এখানে:

$ sudo ps axf -O wchan
31103 -      R ?        00:00:00 /bin/bash /usr/local/bin/monitorcron taskA
31104 exit   X ?        00:00:00  \_ [su]

আপনার কি মনে আছে পরের বার দৌড়ে যাওয়ার পরে যদি প্রক্রিয়াটি শেষ হয়ে যায় ps?
হিটেকম্পিউটারজেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.