进程管理
程序:静态没有执行的代码 硬件空间
进程:动态执行的代码 CPU与内存资源
父进程与子进程 树形结构
进程编号:PID
systemd:所有程序的父进程(上帝进程)
pstree 查看进程
-p:列出对应进程的PID编号
-a:显示完整的命令行
pstree #显示正在运行的所有进程
pstree -p lisi #显示lisi用户开启的进程
pstree -a lisi #显示lisi用户进程在干什么
pstree -ap lisips常用命令选项:
aux:显示当前终端所有进程(a)、当前用户在所有终端下的进程(x)、以用户格式输出(u)
-elf:显示系统内所有进程(-e)、以长格式输出(-l)信息、包括最完整的进程信息(-f)
ps aux #列出正在运行的所有进程,显示进程信息非常详细
用户 进程ID %cpu %内存 虚拟内存 固定内存 终端 状态 起始时间 cpu时间 程序指令
ps -elf #列出正在运行的所有进程,显示进程父进程信息
-PPID为父进程的PID
ps aux | wc -l #正在运行的进程有多少个
ps -elf | wc -l僵尸进程:
僵尸进程是当子进程比父进程先结束,而父进程没有回收子进程,此时子进程会成为僵尸进程
1.通过ps命令找到僵尸进程(状态Z) ps aux
2.杀死僵尸进程:找到僵尸进程进行杀死 ps -elftop动态
top第一行的信息和uptime的信息一致
top -d 1 一秒刷新一次
按大写P进行cpu排序
按大写M进行内存排序
q退出pgrep ad (只显示进程号)查看进程名包含ab的进程
pgrep -l ad (显示名字)
pgrep -u lisi #显示lisi用户开启的进程
pgrep -p lisi #显示lisi用户开启的进程(一般使用这个)
pgrep -x ab (精确匹配,单纯必须完全匹配,不能多不能少)sleep 5 #休息5秒钟
sleep 2000
crtl z #暂停放入后台
jobs #查看后台进程信息
bg1 #让后台编号为1的进程继续运行
jobs
fg 1 #让后台编号为1的进程继续运行
crtl c #结束
sleep 3000 & #正在运行放入后台
jobs干掉进程的不同方法(-9强制杀死)
-ctrl c 中断当前命令程序
-kill -9 进程PID
-kill -9 %后台任务编号
-killall -9 进程名(必须要一样)
-pkill -9 查找条件 #包含就算
sleep 2000 & #创建进程并放入后台运行
jobs
killall sleep
ps aux | grep sleep #查看进程号
kill 进程号sudo提权:让普通用户可以具备root身份执行某些操作
使用root用户 vim /etc/sudoers == visudo
在文件最后添加
用户名 ALL=(ALL) NOPASSWD: ALL (使用sudo命令,无需输入密码)
bob ALL=(root) /usr/bin/mkdir,/sur/bin/cat #在这些文件内才可提权
bob ALL=(root) NOPASSWD:/usr/bin/mkdir,/usr/bin/cat #在这些文件内才可提权
%wudang ALL=(root) NOPASSWD:/usr/bin/mkdir #给wudang组进行提权,所属组是武当的用户都有提权
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员fancy
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果