Linux查看进程的所有信息的方法示例

 更新时间:2018年11月06日 09:30:40   作者:JouyPub  
这篇文章主要介绍了Linux查看进程的所有信息的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

服务器上有一个任务进程,当我们使用ps -ef | grep task查看时,只能得到一些最基本的信息,假如我们需要知道对应的文件路径、启动命令的完整路径,就无从下手了。

今天教大家一个方法来查看进程的所有信息,包括启动命令的完整路径、对应的文件完整路径等等信息:ls -l /proc/PID

例如使用ps -ef | grep webhook查看进程时,只能得到如下信息

> ps -ef | grep webhook
root   15902   1 0 Aug15 ?    00:00:00 python -u src/webhook.py
root   30639 30612 0 22:50 pts/0  00:00:00 grep --color=auto webhook

然后执行 ls -l /proc/15902

> ll /proc/15902
dr-xr-xr-x 2 root root 0 Sep 18 22:52 attr
-rw-r--r-- 1 root root 0 Sep 18 22:52 autogroup
-r-------- 1 root root 0 Sep 18 22:52 auxv
-r--r--r-- 1 root root 0 Sep 18 22:52 cgroup
--w------- 1 root root 0 Sep 18 22:52 clear_refs
-r--r--r-- 1 root root 0 Aug 15 16:48 cmdline
-rw-r--r-- 1 root root 0 Sep 18 22:52 comm
-rw-r--r-- 1 root root 0 Sep 18 22:52 coredump_filter
-r--r--r-- 1 root root 0 Sep 18 22:52 cpuset
lrwxrwxrwx 1 root root 0 Aug 15 16:48 cwd -> /services/apps/webhook
-r-------- 1 root root 0 Sep 18 22:52 environ
lrwxrwxrwx 1 root root 0 Aug 15 16:48 exe -> /usr/bin/python2.7
dr-x------ 2 root root 0 Aug 15 16:48 fd
dr-x------ 2 root root 0 Sep 18 22:52 fdinfo
-rw-r--r-- 1 root root 0 Sep 18 22:52 gid_map
-r-------- 1 root root 0 Sep 18 22:52 io
-r--r--r-- 1 root root 0 Sep 18 22:52 limits
...

有几个主要的文件我们可以关注下:

  • cwd:文件所在目录
  • exe:执行命令的完整路径
  • environ:执行命令时的环境变量

补充:

#lsof 列出当前系统打开文件,常与-i选项使用,用于查看某个端口被哪个程序占用
[root@bogon ~]# lsof -i:80
COMMAND PID  USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
httpd  6701  root  4u IPv6 64259   0t0 TCP *:http (LISTEN)
httpd  6702 apache  4u IPv6 64259   0t0 TCP *:http (LISTEN)
httpd  6703 apache  4u IPv6 64259   0t0 TCP *:http (LISTEN)
httpd  6704 apache  4u IPv6 64259   0t0 TCP *:http (LISTEN)
httpd  6705 apache  4u IPv6 64259   0t0 TCP *:http (LISTEN)
httpd  6706 apache  4u IPv6 64259   0t0 TCP *:http (LISTEN)
[root@bogon ~]# lsof -i:22
COMMAND PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
sshd   931 root  3u IPv4 20955   0t0 TCP *:ssh (LISTEN)
sshd   931 root  4u IPv6 20965   0t0 TCP *:ssh (LISTEN)
sshd  3926 root  3u IPv4 36374   0t0 TCP bogon:ssh->bogon:53436 (ESTABLISHED)
[root@bogon ~]# 


#获取终端上所有用户的有关进程的所有信息
[root@bogon ~]# ps -aux
USER    PID %CPU %MEM  VSZ  RSS TTY   STAT START  TIME COMMAND
root     1 0.0 0.4 128092 4724 ?    Ss  Jun25  0:03 /usr/lib/systemd/syste
root     2 0.0 0.0   0   0 ?    S  Jun25  0:00 [kthreadd]
root     3 0.0 0.0   0   0 ?    S  Jun25  0:00 [ksoftirqd/0]
root     6 0.0 0.0   0   0 ?    S  Jun25  0:00 [kworker/u256:0]
root     7 0.0 0.0   0   0 ?    S  Jun25  0:00 [migration/0]
root     8 0.0 0.0   0   0 ?    S  Jun25  0:00 [rcu_bh]
root     9 0.0 0.0   0   0 ?    R  Jun25  0:01 [rcu_sched]
root     10 0.0 0.0   0   0 ?    S  Jun25  0:00 [watchdog/0]
root     12 0.0 0.0   0   0 ?    S<  Jun25  0:00 [khelper]
root     13 0.0 0.0   0   0 ?    S  Jun25  0:00 [kdevtmpfs]
root     14 0.0 0.0   0   0 ?    S<  Jun25  0:00 [netns]
root     15 0.0 0.0   0   0 ?    S  Jun25  0:00 [khungtaskd]
root     16 0.0 0.0   0   0 ?    S<  Jun25  0:00 [writeback]
root     17 0.0 0.0   0   0 ?    S<  Jun25  0:00 [kintegrityd]
root     18 0.0 0.0   0   0 ?    S<  Jun25  0:00 [bioset]
root     19 0.0 0.0   0   0 ?    S<  Jun25  0:00 [kblockd]
root     20 0.0 0.0   0   0 ?    S<  Jun25  0:00 [md]
root     26 0.0 0.0   0   0 ?    S  Jun25  0:00 [kswapd0]
root     27 0.0 0.0   0   0 ?    SN  Jun25  0:00 [ksmd]
root     28 0.0 0.0   0   0 ?    SN  Jun25  0:00 [khugepaged]
root     29 0.0 0.0   0   0 ?    S  Jun25  0:00 [fsnotify_mark]
root     30 0.0 0.0   0   0 ?    S<  Jun25  0:00 [crypto]
root     38 0.0 0.0   0   0 ?    S<  Jun25  0:00 [kthrotld]
root     40 0.0 0.0   0   0 ?    S<  Jun25  0:00 [kmpath_rdacd]
root     41 0.0 0.0   0   0 ?    S<  Jun25  0:00 [kpsmoused]
root     43 0.0 0.0   0   0 ?    S<  Jun25  0:00 [ipv6_addrconf]
root     62 0.0 0.0   0   0 ?    S<  Jun25  0:00 [deferwq]
root     94 0.0 0.0   0   0 ?    S  Jun25  0:00 [kauditd]
root    233 0.0 0.0   0   0 ?    S<  Jun25  0:00 [mpt_poll_0]
root    234 0.0 0.0   0   0 ?    S<  Jun25  0:00 [ata_sff]
root    235 0.0 0.0   0   0 ?    S<  Jun25  0:00 [mpt/0]
root    241 0.0 0.0   0   0 ?    S  Jun25  0:00 [scsi_eh_0]
root    243 0.0 0.0   0   0 ?    S<  Jun25  0:00 [scsi_tmf_0]
root    245 0.0 0.0   0   0 ?    S  Jun25  0:00 [scsi_eh_1]
root    246 0.0 0.0   0   0 ?    S  Jun25  0:00 [kworker/u256:2]
。。。。。。


#获取某服务程序的所有进程号
[root@bogon ~]# pgrep httpd
6701
6702
6703
6704
6705
6706
#杀死进程,killall通过程序名字杀死所有进程
[root@bogon ~]# killall httpd
[root@bogon ~]# pgrep httpd
[root@bogon ~]# 
#kill杀死程序
[root@bogon ~]# cat a.sh  #死循环
#!/bin/bash
while true
do
  echo "linux">/dev/null
done
[root@bogon ~]# ./a.sh
^Z
[1]+ Stopped         ./a.sh
[root@bogon ~]# ps
  PID TTY     TIME CMD
 3930 pts/1  00:00:00 bash
 11719 pts/1  00:00:01 a.sh
 11729 pts/1  00:00:00 ps
[root@bogon ~]# kill 11719   #偶然间发现这个问题,原因暂时不明
[root@bogon ~]# ps
  PID TTY     TIME CMD
 3930 pts/1  00:00:00 bash
 11719 pts/1  00:00:01 a.sh
 11733 pts/1  00:00:00 ps
[root@bogon ~]# kill -9 11719 #既然普通kill无法杀死,那么就发送-9信号直接强制杀死,问题解决
[root@bogon ~]# ps
  PID TTY     TIME CMD
 3930 pts/1  00:00:00 bash
 11734 pts/1  00:00:00 ps
[1]+ Killed         ./a.sh
[root@bogon ~]# ./a.sh &
[1] 11735
[root@bogon ~]# ps
  PID TTY     TIME CMD
 3930 pts/1  00:00:00 bash
 11735 pts/1  00:00:01 a.sh
 11736 pts/1  00:00:00 ps
[root@bogon ~]# kill 11735  #普通后台运行程序可以直接kill
[root@bogon ~]# ps
  PID TTY     TIME CMD
 3930 pts/1  00:00:00 bash
 11737 pts/1  00:00:00 ps
[1]+ Terminated       ./a.sh
[root@bogon ~]# 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • CentOS 7下MongoDB的安装配置详解

    CentOS 7下MongoDB的安装配置详解

    本篇文章主要介绍了CentOS 7下MongoDB的安装配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Linux系统多网卡环境下的路由配置详解

    Linux系统多网卡环境下的路由配置详解

    这篇文章主要介绍了Linux系统多网卡环境下的路由配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Redhat 7/CentOS 7 SSH 免密登录的方法

    Redhat 7/CentOS 7 SSH 免密登录的方法

    本篇文章主要介绍了Redhat 7/CentOS 7 SSH 免密登录的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • linux 编译安装python3.6的教程详解

    linux 编译安装python3.6的教程详解

    这篇文章主要介绍了linux 编译安装python3.6的教程,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • Linux常用命令之grep命令用法详解

    Linux常用命令之grep命令用法详解

    这篇文章主要介绍了Linux常用命令grep命令用法详解,grep命令用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。对此感兴趣可以了解一下
    2020-07-07
  • 2016年如何选择Linux发行版

    2016年如何选择Linux发行版

    这篇文章主要介绍了2016年选择Linux发行版的标准和原则,挑选几个将在2016 年里大放光彩的最佳发行版给大家介绍一下,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 使用命令行检测Ubuntu版本方法

    使用命令行检测Ubuntu版本方法

    在本篇文章中小编给大家整理了关于使用命令行检测Ubuntu版本方法和相关代码,有兴趣的朋友们学习下。
    2019-03-03
  • Linux一键安装xdd plus机器人

    Linux一键安装xdd plus机器人

    大家好,本篇文章主要讲的是Linux一键安装xdd plus机器人,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • Ubuntu 远程登陆服务器 ssh的安装和配置详解

    Ubuntu 远程登陆服务器 ssh的安装和配置详解

    这篇文章主要介绍了Ubuntu 远程登陆服务器 ssh的安装和配置详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Apache下开启SSI配置使html支持include包含的方法

    Apache下开启SSI配置使html支持include包含的方法

    这篇文章主要介绍了Apache下开启SSI配置使html支持include包含的方法,需要的朋友可以参考下
    2016-10-10

最新评论