查看进程号
# ps -ef|grep java
root 3697 3640 11 09:33 pts/1 00:00:31 java -jar eureka-server-0.0.1-SNAPSHOT.jar
#查看该进程占用端口
# netstat -tupln | grep 3697
tcp6 0 0 :::1111 :::* LISTEN 3697/java
查找目录:find /(查找范围) -name '*查找关键字*' -type d
正常运行中的进程树关系如下(为了简化,只显示一部分进程):
$ ps x
PID TTY STAT TIME COMMAND
17279 pts/8 Ss 0:00 -bash
18618 pts/8 R+ 0:00 ps xf
18283 pts/8 S 0:00 A
18284 pts/8 S 0:00 A
18321 pts/8 S 0:00 a
18322 pts/8 S 0:00 a
出问题时进程的状态为:
$ ps x
PID TTY STAT TIME COMMAND
17279 pts/8 Ss 0:00 -bash
18618 pts/8 R+ 0:00 ps xf
18283 pts/8 Z 0:00 A<defunct>
18284 pts/8 S 0:00 A
18321 pts/8 S 0:00 a
18322 pts/8 S 0:00 a
找到某进程启动路径的方法是:
1.我们可以从ps命令中得到僵死进程的PID,如上例中18283.
2.进入/proc目录下以该PID命名的目录中
3.输入ls -l ,结果中 exe链接对应的就是可执行文件的全路经
$ ls -l /proc/18283
总计 0
dr-xr-xr-x 2 qhkf qhkf 0 01-06 11:14 attr
-r-------- 1 qhkf qhkf 0 01-06 11:14 auxv
-r--r--r-- 1 qhkf qhkf 0 01-06 10:38 cmdline
-r--r--r-- 1 qhkf qhkf 0 01-06 11:14 cpuset
lrwxrwxrwx 1 qhkf qhkf 0 01-06 11:14 cwd -> /v8t/qhkf/risk_b/kssmdb