Linux 进程常用的命令
文章目录
【注意】最后更新于 July 24, 2021,文中内容可能已过时,请谨慎使用。
查询进程
ps
参数
- -a 显示所有 同 -e
- -j 采用工作控制的格式显示程序状况 同 j
- -u 列出属于该用户的程序的状况 同 U -U u
- x 显示所有程序,不区分终端机
应用
- 查看进程 pid ,名称,cpu 占用率 ps axo pid,comm,pcpu
- 按内存资源的使用量对进程进行排序 ps aux | sort -rnk 4
- 按 cpu 的使用量进行排序 ps aux | sort -nk 3
- 显示所有进程 ps -A
- 显示指定用户信息 ps -u root
- 查看线程数 ps -efL
- 查看进程并按内存使用大小排列 ps -e -o “%C : %p :%z : %a"|sort -k5 -nr
- 显示所有进程信息,连同命令行 ps -ef
- ps 与grep 常用组合用法,查找特定进程 ps -ef | grep ssh
- 通过名字或命令搜索进程 ps -C nginx
- 用树的风格显示进程的层次关系 ps -f –forest -C nginx
- 显示进程运行的时间 ps -e -o pid,com,etime
- 查看named进程详细信息 ps -aux | grep named
- 通过进程id获取服务名称 ps -o command -p 91730 | sed -n ap
ps 结果标识
使用 ps 命令返回的各标识信息
- F 代表这个程序的旗标 (flag), 4 代表使用者为 super user
- S 代表这个程序的状态 (STAT),R 运行, S 睡眠, T 暂停,Z 僵尸进程(死了没有父进程回收)
- UID 程序被该 UID 所拥有
- PID 就是这个程序的 ID !
- PPID 则是其上级父程序的ID
- C CPU 使用的资源百分比
- PRI 这个是 Priority (优先执行序) 的缩写
- NI 这个是 Nice 值,与进程调度有关
- ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 “-”
- SZ 使用掉的内存大小
- WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
- TTY 登入者的终端机位置,’?’ 为没有控制终端,一般为 pts/n 代表伪终端, tty1-6是物理终端
- TIME 使用掉的 CPU 时间。
- CMD 所下达的指令为何
将一个程序放到后台运行
-
使用 & 将进程放入到后台并暂停运行, 同
bg
命令 或ctrl +z
发送的SIGSTOP
信号1
php -S 0.0.0.0:8080 -t ./ &
使用 & 将程序放到后台运行后,会返回进程信息及状态,并且丢失当前控制终端(输入,输出,错误无法在当前终端显示)
- 使用
jobs -l
查看所有放进后台的进程 - 使用
jobs -s
查看所有暂停的进程 - 使用
jobs -r
查看所有运行中的进程
使用 & 将进程放到后台运行,但是进程的父进程是当前的会话进程,如果当前的会话结束,那么这个进程也将被回收,从而导致进程结束。
使用
fg
命令,将后台暂停的程序放到前台继续运行 - 使用
-
使用 nohup + command + &
|
|
该命令会将程序的父进程退出并交给系统进程来接管,相当于守护进程,并丢失控制终端
以进程树的方式查看所有进程
pstree
参数
|
|
停止进程
kill
参数
|
|
常用信号
- kill -s SIGKILL pid = kill -9 pid