[Linux学习]实战系列之进程管理
查看运行中的进程信息
查看进程信息的命令有很多,参数也一大堆,我们这里主要分享一些常用的命令+参数和它们的作用
ps
ps
最为简单的命令是ps,我们可以直接执行获得当前会话中打开的进程,信息也非常简略,只有进程号、运行时间、终端名等
ps -ef | grep
我们经常使用此命令来查看特定名称的进程(包括了所有进程),并且包含更多的信息
ps aux
此命令与 ps -ef的区别在于增加了进程对资源的使用情况
ps -H
加上-H参数会显示线程信息
top
top
top命令与ps的区别在于以下两点:
- top命令显示了cpu整体的运行情况,包括cpu的负载、进程的数量、内存的使用情况等等
- top命令会根据cpu的使用率进行排序,并且实时更新
top -H
同样,我们也可以查看具体线程的资源使用情况
pstree
pstree
pstree可以查看进程之间的父子关系
定位个别进程并对其进行指定操作
启动进程
正常来说,我们可以直接执行命令使得任务在当前终端直接执行,但是对于某些耗时任务,我们直接运行导致终端阻塞是不明智的,
后台执行
我们可以在命令后面加上**&**来是其在后端执行,我们也可以使用fg命令在调回前台,使用bg调回后台
nohup commend > log.file 2>&1 &
为了不让终端断开后程序终止,我们需要使用该命令是其不中断,并将输出重定向到log.file中。
at 12:00 03/15/2022 commend
我们可以使用该命令让程序到达指定时间后执行
杀死进程
kill 和 kill -9
kill命令会给进程发出中断,告诉进程应该停止了,然后将停止的权利交给进程处理。
而kill -9会直接将进程杀死
优先级设置
nice <优先级> <进程名>
该命令用于设置进程的优先级
renice -n -p
该命令可以改变指定进程的优先值