যদি আমি কোনও প্রক্রিয়া শুরু করি এবং তারপরে বাইনারি মুছতে পারি তবে আমি এগুলি থেকে পুনরুদ্ধার করতে পারি /proc/<pid>/exe
:
$ cp `which sleep` .
$ ./sleep 10m &
[1] 13728
$ rm sleep
$ readlink /proc/13728/exe
/tmp/sleep (deleted)
$ cp /proc/13728/exe ./sleep-copy
$ diff sleep-copy `which sleep` && echo not different
not different
$ stat /proc/13728/exe
File: ‘/proc/13728/exe’ -> ‘/tmp/sleep (deleted)’
Size: 0 Blocks: 0 IO Block: 1024 symbolic link
অন্যদিকে, আমি যদি নিজেই একটি প্রতীকী লিঙ্ক তৈরি করি তবে লক্ষ্যটি মুছুন এবং অনুলিপি করার চেষ্টা করুন:
cp: cannot stat ‘sleep’: No such file or directory
/proc
কার্নেলের একটি ইন্টারফেস। তাহলে কি এই প্রতীকী লিঙ্কটি আসলে মেমরিতে লোড হওয়া অনুলিপিটি নির্দেশ করে তবে আরও দরকারী নামের সাথে? exe
লিঙ্কটি ঠিক কীভাবে কাজ করে?
proc_exe_link()
মধ্যেproc
: ফাইলসিস্টেম lxr.free-electrons.com/source/fs/proc/base.c?v=4.0#L1350