
你的意思是,知道某个进程的PID,然后希望找到该进程执行的程序的路径吧
可以使用这种方法:
ls -l /proc/$PID/exe
上面的$PID就是那个PID,比如
$ ls -l /proc/2594/exe
lrwxrwxrwx 1 jason jason 0 Oct 16 17:15 /proc/2594/exe -> /home/jason/download/qterm-0512/build/src/qterm
$ ls -l /proc/2094/exe
lrwxrwxrwx 1 jason jason 0 Oct 16 17:10 /proc/2094/exe -> /bin/bash
后面分别指向的是 home/jason/download/qterm-0512/build/src/qterm 和 /bin/bash
就是该程序的完成路径
#!/bin/bash
# 你的错误再这里,取出的进程号都有两个 运行脚本已经给出提示
#pid,进程id,process identity
pid=`pidof -s <tomcat进程完整进程显示的名称,如果有路径带着路径>`
kill -9 $pid
#原文写的1秒,你觉得合理吗?真能完成?
sleep 30
/usr/local/apache-tomvat-7055/bin/startupsh
#原文写的1秒钟你觉得tomcat能启动起来吗?
sleep 15
ps -ef | grep tomcat
sleep 5
exit 0
ls
-l
/proc/$PID/exe
ls
-l
/proc/$PID/cwd
PID是进程号
考的意思是这个。。。楼主百度到了。。。
楼主表达有限,他第一个问题只要当前的进程路径的。。。
第二个问题用PID获取他只想要的信息。。。
1、查看进程“打开”的文件 (方法1):
1)pidof programe-name(获得想了解的进程(programe-name)的PID)
或ps -aux|grep programe-name(获得想了解的进程(programe-name)的PID)
找出进程的PID
2)cd /proc/$PID/fd(会看见文件描述符)
3)ls -l 得到文件描述符指向的实际文件,即当前进程打开的文件
2、查看进程“打开”的文件 (方法2):
1)获得想了解的进程的PID方法同上
2)lsof -c programe-name
或lsof -p $PID
查看Linux中所有正在运行的进程 ,可以参考如下方法:
1、通过ps命令的-A或者-e参数来获取系统中所有的进程,这两个参数的作用一样的。
2、通过top命令来获取系统中所有的进程任务 。执行top命令后,在tasks一栏会看到总的任务数。
以上就是关于在linux下通过什么命令可以知道相应PID的路径全部的内容,包括:在linux下通过什么命令可以知道相应PID的路径、linux脚本.sh,使用全路径无法正常运行的原因、怎样查看linux进程所在的路径,及进程的其他等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)