暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Solaris lsof使用技巧

原创 eygle 2007-08-19
648

一.LSOF使用技巧


lsof的功能很多,特別提醒大家, -c,-g,-p,-u,这四个参数最有用。更详细的资料请参看:man lsof。以下给大家介绍一下我在工作中,经常使用的技巧:
1、查看文件系统阻塞
根据工作需要,系统管理员想卸载一个文件系统并执行umount /mountpoint,但程序报告常常显示:umount: /mountpoint: device is busy;这是因为该文件系统上有正在打开的文件而不允许你这么做。这时,我们需要知道哪些文件、程序及用户仍在使用该系统,以便通知用户退出该系统,可以使用lsof识别正在打开一个特定文件系统的进程,执行如下命令:
/usr/sbin/lsof /mountpoint
在这里,mountpoint就是安装位置。例如:
# /usr/sbin /lsof  /home
COMMAND   PID   USER   FD   TYPE DEVICE SIZE  NODE NAME
bash    12134 meng   cwd    DIR    8,5 4096 32705 /home/meng
telnet   12176 meng   cwd    DIR    8,5 4096 32705 /home/meng
bash    19809 meng   cwd    DIR    8,5 4096 32705 /home/meng
bash    20276 meng   cwd    DIR    8,5 4096 32705 /home/meng
su      20315   root  cwd    DIR    8,5 4096 32705 /home/meng
bash    20316   root  cwd    DIR    8,5 4096 32705 /home/meng
csh     20374   root  cwd    DIR    8,5 4096 32705 /home/meng
lsof     20396   root  cwd    DIR    8,5 4096 32705 /home/meng
lsof     20397   root  cwd    DIR    8,5 4096 32705 /home/meng
显然,所有使用这些被打开的文件的进程都需要在文件系统能够被卸载前被终止。管理员以root身份,kill掉占用这个文件系统的进程,解除文件系统阻塞。


2、搜索打开的网络连接
如果想搜索IP地址为10.645.64.23的远程连接主机的所有网络连接,可以执行如下命令:
/usr/sbin/lsof -i@10.65.64.23可以打开系统中该远程知己所有打开的套接字。
# lsof -i@10.65.64.23
COMMAND  PID USER   FD   TYPE     DEVICE SIZE/OFF INODE NAME
telnetd 6605 root    0u  inet 0x14813f00      0t0   TCP xpp3:telnet->;linuxone:33143 (ESTABLISHED)
telnetd 6605 root    1u  inet 0x14813f00      0t0   TCP xpp3:telnet->;linuxone:33143 (ESTABLISHED)
telnetd 6605 root    2u  inet 0x14813f00      0t0   TCP xpp3:telnet->;linuxone:33143 (ESTABLISHED)  

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论