برای کنترل و مانیتورینگ در لینوکس شما باید بتوانید کاربران را به دقت در لینوکس ردیابی کنید و از کارهای آنها مطلع شوید.
توسط دستورات لینوکس به راحتی میتوان یک سیستم لینوکسی را در تمامی زوایا مورد آنالیز و مانیتورینگ قرار داد. با استفاده از دستور lsof میتوانید به طور دقیق متوجه شوید کاربران شما چه فایلهایی را باز کرده و در حال حاضر مشغول انجام چه کارهایی هستند.
این دستور با خواندن kernel memory فایلهای باز بر روی لینوکس را پیدا کرده و به شما نمایش میدهد. فایلهایی که توسط دستور lsof شناسایی میشوند میتوانند از نوع فایل، دایرکتوری، بلاک فایل و … باشند.
نحوه استفاده از دستور lsof
اگر از دستور lsof به فرم زیر استفاده کنید تمامی دستورات و یا برنامههایی که از دایرکتوری وارد شده استفاده میکنند را نشان خواهد داد.
lsof /dev/null
اگر بخواهیم تمامی فایلهایی که توسط یک کاربر خاص بر روی لینوکس باز شدهاند را در خروجی نمایش دهیم میتوانیم از این دستور استفاده کنیم.
lsof –u modireserver
باید به جای modireserver نام کاربری موردنظر خود را وارد کنید.
توسط دستور زیر نیز میتوانید به راحتی تمامی پروسههایی که بر روی یک پورت خاص باز هستند را مشاهده کنید.
sudo lsof -i TCP:80
فقط یک مشکل در استفاده از دستور lsof وجود دارد که میتواند خروجی موردنظر شما را دستخوش تغییرات کند. به دلیل اینکه lsof خروجی خود را از kernel memory دریافت میکند اگر در لحظه ورود دستور فایلهای جدید بر روی memory باز شوند در خروجی دستور شما نشان داده نخواهد شد و شما مجبور هستید تا با ورود مجدد دستور خروجی واقعی در لحظه را دریافت کنید.
برای مشاهده کاربردهای بیشتر از دستور lsof کافی است از راهنمای این دستور به شکل زیر در ترمینال لینوکسی خود استفاده کنید.
man lsof
در لینوکس بهترین راه تسلط به کاربرد هر دستور استفاده از man page دستور مربوطه است که با مثالها و توضیحات فراوان شما را در حرفهای شدن یاری خواهد کرد.