ps
通过ps命令可以查看linux系统的进程信息
语法:ps[-e -f]
选项-e,显示出全部的进程
选项-f,以完全格式化的形式展现信息(展示全部信息)
一般来说,固定用法就是:ps -ef列出全部进程的全部信息
[root@localhost ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 1 12:59 ? 00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0 0 12:59 ? 00:00:00 [kthreadd] root 3 2 0 12:59 ? 00:00:00 [ksoftirqd/0] root 4 2 0 12:59 ? 00:00:00 [kworker/0:0] root 5 2 0 12:59 ? 00:00:00 [kworker/0:0H] root 6 2 0 12:59 ? 00:00:00 [kworker/u256:0] root 7 2 0 12:59 ? 00:00:00 [migration/0] root 8 2 0 12:59 ? 00:00:00 [rcu_bh] root 9 2 1 12:59 ? 00:00:04 [rcu_sched] root 10 2 0 12:59 ? 00:00:00 [lru-add-drain] root 11 2 0 12:59 ? 00:00:00 [watchdog/0] 从左到右 UID:进程所属的用户ID PID:程序的进程号(唯一的标记) PPID:进程的父ID(启动此进程的其他进程) C:此进程的CPU占用率(百分比) STIME:进程的启动时间 TTY:此进程的终端代号,如显示?,表示非终端启动 TIME:进程占用CPU的时间 CMD:进程对应的名称或启动路径或启动命令 但是我们发现每次使用ps命令会出现很多,所以我们会配合管道符“|”去筛选过滤 如:当我们使用tail命令时会卡住 此时再开一个终端窗口并使用ps -ef | grep tail命令后便会出现 [root@localhost ~]# ps -ef | grep tail root 5807 4297 0 13:20 pts/0 00:00:00 tail root 5850 5810 0 13:20 pts/1 00:00:00 grep --color=auto tail 而且ps+管道符不仅可以通过文件的路径或命令查找,还可以通过进程的启动时间、进程号、UID等来查看进程 如 [root@localhost ~]# ps -ef | grep "13:20" root 5807 4297 0 13:20 pts/0 00:00:00 tail root 5810 4290 0 13:20 pts/1 00:00:00 bash root 55818 5810 0 13:25 pts/1 00:00:00 grep --color=auto 13:20 [root@localhost ~]# ps -ef | grep 97833 root 55923 5810 0 13:30 pts/1 00:00:00 grep --color=auto 97833 [root@localhost ~]# ps -ef | grep "root" root 1 0 0 13:03 ? 00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0 0 13:03 ? 00:00:00 [kthreadd] root 3 2 0 13:03 ? 00:00:00 [ksoftirqd/0] root 5 2 0 13:03 ? 00:00:00 [kworker/0:0H] root 7 2 0 13:03 ? 00:00:00 [migration/0] root 8 2 0 13:03 ? 00:00:00 [rcu_bh] root 9 2 0 13:03 ? 00:00:11 [rcu_sched] root 10 2 0 13:03 ? 00:00:00 [lru-add-drain] root 11 2 0 13:03 ? 00:00:00 [watchdog/0] root 12 2 0 13:03 ? 00:00:00 [watchdog/1] root 13 2 0 13:03 ? 00:00:00 [migration/1] root 14 2 0 13:03 ? 00:00:00 [ksoftirqd/1] root 16 2 0 13:03 ? 00:00:00 [kworker/1:0H] root 17 2 0 13:03 ? 00:00:00 [watchdog/2]
kill
在WINDOWS系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它,而在linux我们通过kill命令关闭进程
语法:kill[-9] 进程ID
选项 -9:表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
还是拿tail举例 [root@localhost ~]# tail 此时使用tail命令后终端卡住了,我们需要关闭tail这个进程 先使用ps命令查看 [root@localhost ~]# ps -ef |grep tail root 5807 4297 0 13:20 pts/0 00:00:00 tail root 56001 5810 0 13:37 pts/1 00:00:00 grep --color=auto tail 然后我们使用kill命令将其关闭 [root@localhost ~]# kill -9 5807 在另一个终端窗口内可以看见tail进程已经被关闭 [root@localhost ~]# tail [1]+ 已杀死 tail 已杀死