কাজ করার সময় আমি কীভাবে sh ফাইল পড়তে পারি তবে মুছে ফেলা যায়?


20

একটি সাক্ষাত্কারে তারা আমাকে এই প্রশ্নটি করেছিলেন।

একটি sh ফাইল ছিল যা ইতিমধ্যে চলছে, কিন্তু কার্যকর করা শুরু হওয়ার পরে এটি মুছে ফেলা হয়েছে।

তারা আমাকে প্রক্রিয়াটি সন্ধান করতে এবং ফাইলটি পড়তে চায়।

আমি সঙ্গে প্রক্রিয়া সন্ধান করতে পরিচালিত

ps -ef | grep test.sh

এবং ব্যবহার করে এটি পড়ার চেষ্টা করেছি

cat /proc/PID/cmdline test.sh

কিন্তু এটা বলে

no such file or directory

আমি জানিনা যে আমার পরবর্তী কী করা উচিত তাই আমাকে এড়িয়ে যেতে হবে।

হতে পারে এটি একটি সহজ প্রশ্ন তবে এটি আমার পক্ষে সত্যই একটি ভাল প্রশ্ন এবং আমি উত্তরটি সত্যই জানতে চাই। আপনি কি সাহায্য করতে পারেন?

উত্তর:


24
tail -c +0 -f /proc/{pid}/fd/{fd} > /tmp/file

যেখানে {পিড} আপনার প্রক্রিয়াটির আইডি এবং এতে /tmp/fileএর লিখিত সামগ্রী থাকবে। আপনি যদি এটি সংরক্ষণ করতে চান তবে অন্য একটি অবস্থান এবং নাম ব্যবহার করুন।

  • {পিড} প্রক্রিয়াটির আইডি।
  • {fd ফাইল বর্ণনাকারী। lsofএফডি প্রদর্শন করা উচিত। lsofসম্ভবত লাইনে "মুছে ফেলা" দেখানো হচ্ছে যাতে আপনি grepএটিও করতে পারেন । lsof -nP +L11 টিরও কম লিঙ্কযুক্ত সমস্ত ফাইল তালিকাবদ্ধ করবে, মুছে ফেলা একটি ফাইলের 0 থাকবে | grep {pid}just কেবলমাত্র আপনার পিআইডি অনুসন্ধান করতে একটি যুক্ত করুন ।
  • মিষ্টি থেকে: lsof -p 22664 | sed -E '$!d;s/.*\s([0-9]+)[a-z]\s.*/\1/'শুধু এফডি পেতে।
  • মন্তব্য থেকে: আপনি ব্যবহার করতে পারেন less, catবা cpখুব। আমি বড় হয়েছি tail:)

"আমি লেজে বড় হয়েছি!" * X এর সাথে যে কোনও কিছু করার জন্য একটি মূল্যবান অন্তর্দৃষ্টি।
শ্রী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.