linux技巧----查找某个正在执行的脚本

如果在机器上发现有执行的脚本,却不知道在哪,可以这样找

例如

# netstat -ltnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      2288/hpiod        
tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN      2293/python         
tcp        0      0 :::22                    :::*                        LISTEN      2345/sshd 

如上我发现有个python进程,我想看看是哪个脚本在执行,文件在哪找到它

可以这样

#ps -p 2293 ef | more
  PID TTY      STAT   TIME COMMAND
 2293 ?        S      0:00 /usr/bin/python ./hpssd.py CONSOLE=/dev/console SELINUX_INIT=YES TERM=linux INIT_VERSION=sysvinit-2.86 PATH=/sbin:/usr
/sbin:/bin:/usr/bin runlevel=3 RUNLEVEL=3 PWD=/usr/share/hplip LANG=en_US.UTF-8 previous=N PREVLEVEL=N SHLVL=3 HOME=/ _=./hpssd.py

文件就是/usr/share/hplip/hpssd.py

 查看进程的详细情况用下面的命令

只查看该进程:ps -ef | grep 2293
查看该进程打开的文件:lsof -p 2293
查看内存分配:lcat /proc/2293/maps
查看堆栈:pstack 2293
查看发出的系统调用:strace -p 2293
查看调用库函数:ltrace -p 2293

 

posted @ 2013-06-28 22:14  sunsweet  阅读(6922)  评论(0编辑  收藏  举报