免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1923 | 回复: 6
打印 上一主题 下一主题

请教:如何得到别人的工作目录呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-06 16:53 |只看该作者 |倒序浏览
各位大虾,你们好,
用shell就可以实现对aix系统的某一时刻的操作监控;
for ip in `cat $HOME1/txt/man.txt|awk -F\| '{print $1}'`
do
grep $ip $HOME1/txt/man.txt | awk -F\| '{print "["$2"]在做什么?" }'
for pts in `who|grep $ip|awk -F\/ '{print $2}'|awk '{print $1}'`
do
ps -ef|grep "pts\/$pts "|grep -v grep|grep -v ksh
done
done


man.txt为一个ip的列表,说明ip地址和主人的mapping对照关系;
现在想知道如何得到某个ip所处的工作目录,因为我想知道他/她在做vi makefile
的时候,是在哪个目录做的;
有兴趣的朋友帮忙看一下如何实现,谢谢。

论坛徽章:
0
2 [报告]
发表于 2010-07-07 08:57 |只看该作者
回复 1# bluesgone


    click for 46 times, but nobody know?

   waiting for your answer, thx.

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
3 [报告]
发表于 2010-07-07 09:05 |只看该作者
找到他vi所在进程的pid 到/proc里查询该进程的cwd

论坛徽章:
0
4 [报告]
发表于 2010-07-07 09:40 |只看该作者
回复 3# waker


    学习了,版主的水平果然是高

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
5 [报告]
发表于 2010-07-07 09:51 |只看该作者
  1. while IFS=\| read column1 column2; do
  2.     echo "Where is ${column2} using vi?";
  3.     for pts in `who | awk -v ip=${column1} '$0~ip{print $2}'`; do
  4.         pid=`ps -ef | grep "${pts}.*vi" | grep -v "grep" | awk '{print $2}'`
  5.         ls -l /proc/${pid} | awk -F '>' '/cwd ->/ {print $2}'
  6.     done
  7.     echo
  8. done < $HOME1/txt/man.txt
复制代码

论坛徽章:
2
白羊座
日期:2013-10-29 13:29:222015亚冠之全北现代
日期:2015-10-25 08:13:02
6 [报告]
发表于 2010-07-07 09:53 |只看该作者
你用AIX5L吗?装个 lsof

lsof -p $PID
就可以看到你想看的

论坛徽章:
0
7 [报告]
发表于 2010-07-07 15:38 |只看该作者
本帖最后由 bluesgone 于 2010-07-07 15:45 编辑

我在aix版也发表了这个问题,斑竹说用procwdx 就可以了,我尝试了一下,的确可以。不过,
对于脚本执行用户外的其他用户的当前工作目录,就无法取得了。
存在权限的问题。
对于你们说的这种看cwd的方式,也必须拥有其他用户的权限才行,否则看不到其他用户在啥目录下做什么。
可能这个也是进程的一种保护机制吧,避免除了root以外用户的进程破坏其他的用户进程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP