进程管理(前面的重点必须会)

进程管理

重点:


一、pkill用于杀死一类进程,比如下面强杀wang的进程

pkill -9 -U wang

二、killall也可以杀一类进程(默认可能没有),比如杀nginx进程

killall nginx

三、kill -0和kill -1要知道啥意思

kill -0 pid一般用来检测某进程是否存货,不过pid不确定,一般用killall -0 name;脚本中经常用这个检查某个进程在不在

killall -1 name用于让程序重读配置文件,比如修改了某程序的配置文件,可以用此法重读配置文件

四、有时候需要获取所有进程中占用内存或CPU最高的一个:

ps aux k %mem 或者 ps aux k %cpu最后一个便是

五、关于管道的特点

管道很重要的一个特点就是会开启一个子shell,可以想想子shell可以继承父shell哪些属性,fork炸dan,bomb等

六、PS1,PS2,PS3,PS4

PS1是命令提示符

PS2是多行输入比如cat tee重定向前面的提示符,默认是>

PS3是shell脚本中select的提示符

PS4很少用,别记了

七、进程管理工具要熟练掌握几个:

lsof iftop等

八、程序并行执行

&符号,&可以开启一个子进程

比如使用ping命令扫局域网可以ping通的机器

九、screen不间断会话

除了screen还可以用nohub command &来实现,可以看之前的笔记

还有吗?后续补充


1、ps aux

比较常用

a 选项包括所有终端中的进程

x 选项包括不链接终端的进程

u 选项显示进程所有者的信息

2、ps -ef

查看所有进程,父进程,子进程,比较常用

3、 ps axo pid,cmd,psr,ni,pri,%mem,%cpu

指定显示哪些东西,可以使用ps L查看支持哪些内容的显示

4、还可以排序:k选项

按CPU排序

[[email protected] ~]# ps axo pid,cmd,psr,ni,pri,%mem,%cpu k %cpu

5、kill 12345

温柔的杀死12345进程(正常结束进程),使用-15信号,不写默认就是-15,

6、kill -9 12345

强杀,某些顽固进程就得强杀

7、killall httpd

杀某一类进程,比如httpd启动后就有好几个进程,killall httpd就可以杀死所有httpd进程

8、pidof tail

查看正在执行的tail命令的pid

kill pidof tail

9、僵尸进程一般杀父进程解决,如果,父进程不能杀,就只能重启系统了

10、CPU与IO密集

买云服务器经常看到

CPU密集型是对cpu占用率高的进程

IO密集型是等待IO时间长的进程

11、pgrep检索指定类型进程,一般都是ps -ef | grep

pgrep -U root

12、kill -0

检测进程是否存活,脚本中有用

killall -0 httpd执行后使用$?判断httpd是否在运行,面试可能会问

13、kill -1

重读配置文件

killall -1 httpd 修改httpd配置文件后使用此命令重读配置文件

14、pkill

杀一类进程,比如httpd所有进程,wang用户的所有进程

15、程序后台运行

CTRL +Z程序在后台不会继续执行

screen可以实现不间断会话

nuhub command & >/dev/null也可以实现不间断会话(不重定向标准输出会打印到屏幕上)

16、管道

子shell

参考:https://blog.csdn.net/m0_37556444/article/details/83090602

https://www.cnblogs.com/python2687806834/p/9957050.html

17、程序并发执行

&开启子shell让程序后台执行

18、进程优先级

nice可以修改程序优先级

19、ps命令的o选项可k选项

o选项可以指定输出某列(-L查看可以输出哪些列)k选项指定按哪一列排序,实在记不住就ps aux |
sort -n -k吧

20、ss,netstat看连接数,看哪个IP连的多

21、nslookup,dig,traceroute

DNS解析和路由追踪

22、上下文是啥,高的话有啥后果

23、程序与进程与线程

参考:https://www.cnblogs.com/aquarius-bear/p/3939939.html

24、还有吗?后续补充

相关文章
相关标签/搜索