আমি লিনাক্সে চলমান প্রক্রিয়াটির একটি অ-ইন্ট্রিসিভ কোরডাম্প নেওয়ার একটি উপায় খুঁজছি।
আমি জিডিবি'র সাথে পরিচিত gcore
, তবে এটি কেবল তখনই চালানো যেতে পারে যখন gdb
প্রক্রিয়াটির সাথে সংযুক্ত থাকে এবং এটি ডিবাগিংয়ের জন্য বন্ধ হয়ে যায়। একটি বড় কোর ডাম্পের জন্য এর অর্থ হতে পারে যে কয়েক সেকেন্ড বা কয়েক মিনিট বাধা কার্যকর হয়েছে।
কোন অবরুদ্ধ বিকল্প আছে?
লিনাক্স অনুলিপি মেমরির অনুলিপি সমর্থন করে, যা এটি fork()
ছাড়া সমর্থন করার উপর নির্ভর করে exec()
। সুতরাং আমি কার্নেল-স্তরের এমন কিছু নিয়ে ভাবছি যেখানে কর্নেল প্রক্রিয়া পৃষ্ঠার টেবিলগুলি ডাম্প করা হচ্ছে এমন একটি অনুলিপি-অন-লেখার স্ন্যাপশট নিয়ে যায়, তারপরে মূল প্রক্রিয়াটি চলতে থাকাকালীন মূলটি লেখেন।
আমি নিশ্চিত যে আমি যখন gdb
বাধ্য fork()
হয়ে পিতা-মাতার সাথে আনন্দের wait()
সাথে চালিত হত , তখন বাবা-মায়েরা অবসন্ন হওয়ার পরে বাচ্চা ফসল কাটাতে বাধ্য করতাম pretty যদিও এটি অগোছালো, তবুও সংক্ষিপ্তগুলি হলেও পিতামাতার প্রক্রিয়ার দুটি বাধা প্রয়োজন।
নিশ্চয়ই এর আগে কারও দরকার ছিল?