একটি ফাইল লক করার প্রক্রিয়াটি কীভাবে চিহ্নিত করবেন?


35

আমি সঠিক প্রক্রিয়াটি জানতে চাই যা লক ফাইলটি ব্যবহার করছে। আমি এটি ঠিক করতে চাই না , তবে কেবল আমার সিস্টেমটি কী করছে তা জানতে। আমি কীভাবে জানতে পারি?

উদাহরণস্বরূপ, এই বার্তা:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

আবার, আমি এটা ব্যবহার প্রক্রিয়া চিহ্নিত করতে চাই, না কিভাবে এটা ঠিক।

উত্তর:


38

কুখ্যাত আছে lsof:

sudo lsof /var/lib/dpkg/lock
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
aptitude 4974 root    3uW  REG   8,23        0 815673 /var/lib/dpkg/lock

এই ক্ষেত্রে প্রবণতা ফাইলটি ব্যবহার করছে। কোন ব্যবহারকারী ফাইলটি লক করছে তা নিশ্চিত না হলে আপনার অবশ্যই মূল ব্যবহার করা উচিত। এটি একগুচ্ছ জিনিসের জন্যও দরকারী, দুঃখের বিষয় এটি উবুন্টু দিয়ে ইনস্টল হয় না, তাই আপনাকে প্রথমে এটি ইনস্টল করতে হবে।

বাকি প্রাণীদের জন্য, fuserআদেশ আছে command এটি উদ্ভট কারণ এটি কেবল প্রক্রিয়াটির নামের পরিবর্তে পিআইডি ফেরত:

➜  ~  sudo fuser /var/lib/dpkg/lock
/var/lib/dpkg/lock:   4974

এখানে এটি বলে যে ফাইল এবং পিআইডি, যা 4974, তাই আমাদের অবশ্যই তদন্ত করতে হবে:

➜  ~  ps 4974
  PID TTY      STAT   TIME COMMAND
 4974 pts/1    Sl+    0:06 aptitude

6
কেন lsofকুখ্যাত? এটির সাথে কিছু সমস্যা আছে?
রুসলান

3
@Ruslan হাঁ, এটি পারবেন পুনের ব্যবহারকারীদের কী sysadmins চায় সিস্টেম বিপরীত প্রকৃত ব্যবহারের জানি ...
Braiam

@ ব্রাইয়াম খুব বেশি তথ্য ডান হাতে বিপদজনক জিনিস হতে পারে? ^ -_- ^
পিটার ডেভিড কার্টার

এক লাইনে দ্বিতীয় বিকল্প:ps $(sudo fuser /var/lib/dpkg/lock)
wjandrea

8

lslocks এটি করার একটি সহজ উপায়।

lslocks |grep /var/lib/dpkg/lock

প্রক্রিয়া আইডি হ্যান্ডেল করতে শেল ব্যবহারের জন্য:

for pid in `lslocks -rn | grep /var/lib/dpkg/lock|awk '{print $2}'`;
do 
    echo $pid; 
done

হ্যাঁ। lslocksএটি সম্পর্কে সবচেয়ে ভাল উপায়। ব্যবহার lsofআমাকে দিয়েছে এই ত্রুটি: "lsof: সতর্কতা: না পারেন, পরিসংখ্যান () fuse.gvfsd-ফিউজ ফাইল সিস্টেম / চালানোর / ব্যবহারকারী / 1000 / gvfs আউটপুট তথ্য অসম্পূর্ণ হতে পারে"
এনএভি

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