LSLOCKS(8) System Administration LSLOCKS(8)

lslocks - فهرست کردن قفل‌های محلی سیستم روی فایل‌ها

lslocks [options]

دستور lslocks اطلاعات مربوط به تمامی قفل‌های فایلی را که در حال حاضر در یک سیستم لینوکس نگه داشته شده‌اند، فهرست می‌کند.

-b, --bytes

چاپ اندازه‌ها بر حسب بایت به جای شکل خوانا برای انسان.

به‌طور پیش‌فرض، اندازه‌ها در واحدهایی که توان‌هایی از ۱۰۲۴ بایت هستند نشان داده می‌شوند. کوتاه‌نوشت‌های رسمی برای این واحدها (KiB، MiB، GiB، ...) بیشتر خلاصه شده و تنها به حرف اول آن‌ها تبدیل می‌شوند: K، M، G، ....

-H, --list-columns

فهرست کردن ستون‌هایی که می‌توانند با گزینه --output مشخص شوند. می‌تواند با --json یا --raw برای دریافت فهرست در قالب ماشین‌خوان استفاده شود.

-i, --noinaccessible

نادیده گرفتن فایل‌های قفلی که برای کاربر فعلی غیرقابل‌دسترس هستند.

-J, --json

استفاده از قالب خروجی JSON.

-n, --noheadings

چاپ نکردن خط سرستون.

-o, --output list

مشخص کردن ستون‌های خروجی برای چاپ. از --help برای دریافت فهرستی از تمامی ستون‌های پشتیبانی‌شده استفاده کنید.

در صورتی که list در قالب +list مشخص شود (برای نمونه، lslocks -o +BLOCKER)، فهرست پیش‌فرض ستون‌ها می‌تواند گسترش یابد.

--output-all

نمایش تمامی ستون‌های موجود در خروجی.

-p, --pid pid

نمایش تنها قفل‌هایی که توسط فرآیندی با این pid نگه داشته شده‌اند.

-Q, --filter expr

تنها چاپ کردن قفل‌هایی که شرایط مشخص‌شده توسط expr را برآورده می‌کنند.

این ویژگی آزمایشی (EXPERIMENTAL) است. همچنین scols-filter(5) را ببینید. برای نمونه، مستثنی کردن قفل‌های نوع POSIX، اما چاپ تمامی قفل‌های با حالت READ روی فایل‌هایی با پسوند .qcow2:

lslocks --filter 'TYPE != "POSIX" and MODE == "READ" and PATH =~ ".*\.qcow2"'

-r, --raw

استفاده از قالب خروجی خام.

-u, --notruncate

کوتاه نکردن متن در ستون‌ها.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نسخه و خروج.

LIBSMARTCOLS_DEBUG=all

خروجی اشکال‌زدایی libsmartcols را فعال می‌کند.

LIBSMARTCOLS_DEBUG_PADDING=on

استفاده از نویسه‌های فاصله‌گذاری مرئی.

LIBSMARTCOLS_JSON=compact|lines

کنترل قالب خروجی JSON هنگام استفاده از --json. مقادیر پشتیبانی‌شده عبارتند از compact برای خروجی JSON با کمترین فضای خالی، و lines برای قالب خطوط JSON (یک شیء JSON در هر خط). اگر مقداردهی نشود یا روی هر مقدار دیگری تنظیم شود، از JSON با قالب‌بندی زیبا (pretty-printed) استفاده می‌شود.

COMMAND

نام دستور فرآیند نگهدارنده قفل.

PID

شناسه فرآیند (PID).

TYPE

نوع قفل؛ می‌تواند LEASE (ایجاد شده با fcntl(2))، FLOCK (ایجاد شده با flock(2))، POSIX (ایجاد شده با fcntl(2) و lockf(3)) یا OFDLCK (ایجاد شده با fcntl(2)) باشد.

SIZE

اندازه فایل قفل‌شده.

INODE

شماره inode.

MAJ:MIN

شماره دستگاه major:minor.

MODE

مجوزهای دسترسی قفل (خواندن، نوشتن). اگر فرآیند مسدود شده و در انتظار قفل باشد، یک '*' (ستاره) به انتهای حالت اضافه می‌شود.

M

آیا قفل اجباری است یا خیر؛ 0 یعنی خیر (به این معنی که قفل فقط مشورتی یا advisory است)، 1 یعنی بله. (fcntl(2) را ببینید.)

START

آفست بایتی نسبی قفل.

END

آفست پایانی قفل.

PATH

مسیر کامل قفل. اگر هیچ موردی یافت نشود، یا مجوزی برای خواندن مسیر وجود نداشته باشد، به نقطه اتصال (mountpoint) دستگاه بازگشت می‌کند و "..." به مسیر پیوست می‌شود. مسیر ممکن است کوتاه شده باشد؛ از --notruncate برای دریافت مسیر کامل استفاده کنید.

BLOCKER

شناسه فرآیند (PID) فرآیندی که قفل را مسدود کرده است.

HOLDERS

دارنده(های) قفل. قالب دارنده به صورت PID,COMMAND,FD است. اگر یک قفل، قفل مبتنی بر توصیف فایل باز (open file description-oriented) باشد، می‌تواند بیش از یک دارنده برای قفل وجود داشته باشد. بخش «نکات» در زیر را ببینید.

LSLOCKS_COLUMNS=

یک فهرست جداشده با کاما از ستون‌های خروجی جهت چاپ را مشخص می‌کند. تمام ستون‌های فهرست‌شده توسط --list-columns می‌توانند استفاده شوند.

دستور lslocks برای جایگزینی دستور lslk(8) در نظر گرفته شده است، که در ابتدا توسط Victor A. Abell <abe@purdue.edu> نوشته شده بود و از سال ۲۰۰۱ نگهداری نمی‌شود.

«فرآیند نگهدارنده قفل» برای اجاره‌ها (leases)، قفل‌های FLOCK و قفل‌های OFD یک مفهوم ساختگی است. آن‌ها با توصیف فایل باز (open file description) که روی آن به دست آمده‌اند مرتبط هستند. با fork(2) یا cmsg(3)، چندین فرآیند می‌توانند یک توصیف فایل باز را به اشتراک بگذارند. بنابراین فرآیند دارنده یک اجاره (یا یک قفل) به‌طور یکتا تعیین نمی‌شود. دستور lslocks یکی از فرآیندهای دارنده را در ستون‌های COMMAND و PID نشان می‌دهد.

خروجی پیش‌فرض ممکن است تغییر کند. بنابراین تا حد امکان، باید از استفاده از خروجی پیش‌فرض در اسکریپت‌های خود خودداری کنید.

برای قفل‌های OFD، ستون PID ممکن است -1 را نشان دهد. چنین خطوطی نمی‌توانند توسط فیلتر انتخاب شوند، زیرا موتور فیلتر فعلی از اعداد منفی پشتیبانی نمی‌کند.

Davidlohr Bueso <dave@gnu.org> Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>

flock(1), fcntl(2), lockf(3), scols-filter(5)

برای گزارش باگ‌ها از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues. استفاده کنید.

دستور lslocks بخشی از بسته util-linux است که می‌تواند از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت شود.

2026-09-02 util-linux 2.42.3