Ubuntu 进程常用命令学习笔记(查看 终止 优化)

作者:袖梨 2022-06-30

进程常用命令

ps –a显示当前终端所有进程信息

ps –u以用户格式显示

ps –x显示后台运行进程

ps –aux 查看全面

sudo kill 进程号终止进程

kill -9 进程号终止进程,强度更高

killall进程号可以终止与相关进程的子进程

top监视内存、进程情况

top –d 5监视内存、进程情况,5秒刷新一次

相关字段说明

F 进程状态标志
S 进程状态代码
UID 进程执行者ID
PPID 父进程标识(parent process ID)
PRI 进程执行的优先级(priority)
NI 进程执行优先级的nice值,负值表示其优先级较高
SZ 进程占用的内存大小
WCHAN 进程或系统调用等待时的地址
%CPU cpu使用百分比
%MEM 内存使用百分比
VSZ 占用虚拟内存大小
RSS 占用物理内存大小
START 进程开始时间


kill 删除进程
kill pid 删除指定pid的进程
kill -l 查看所有可供传送的信号
kill -9 pid 强制删除进程,传送的是SIGKILL信号
kill -15 pid 强制删除进程,传送的是SIGTERM信号
kill -HUP pid 重启Deamon进程


free 查看内存使用状态
free -s 10 每10秒检查内存使用情况
nice 设置执行优先级,-20~19,19最低
sudo nice –2 vi 将vi的优先级调为-2
renice 修改执行优先级,-20~19,19最低


top 动态显示进程
按”P”键 按CPU使用时间排序
按”M”键 按内存使用多少排序
按”T”键 按执行时间多少排序
按”u”键 监视特定用户
按”K”键 删除进程
top -d 10 指定更新时间
lsof -p 查看进程打开的文件
jobs 命令查看后台作业


结束无响应进程

1、打开终端(什么是终端?自己看Ubuntu的帮助吧,就是Firefox图标右边那个问号,里面有)
2、敲  ps -ef  查出进程的编号(就是PID那列)
3、敲 kill PID  (如果PID是123456,则kill 123456
4、OK了
 
--------------------------------------------------------------------------------------------------------------

如果是想用图形界面和鼠标呢?呵呵,也比较容易:
方法一:
1、打开系统自带的系统监视器。在系统菜单栏下:
Ubuntu结束无响应进程的几种方法 - c.lion - c.lion的博客
2、面熟吧,出来了一个和windows任务管理器差不多的一个东西。用鼠标,地球人都会用吧...
Ubuntu结束无响应进程的几种方法 - c.lion - c.lion的博客Ubuntu结束无响应进程的几种方法 - c.lion - c.lion的博客
3、想按ctrl+alt+delete启动呢?这只需简单设置一下,找到快捷键设置工具
Ubuntu结束无响应进程的几种方法 - c.lion - c.lion的博客
进行相应的设置就好啦,ctrl+alt+delete已经被使用了,我们可以先用别的快捷键如alt+f3代替默认的,再把我们的系统监视器设置成ctrl+alt+delete,命令使用gnome-system-monitor。以后就和windows的使用习惯一致了。
Ubuntu结束无响应进程的几种方法 - c.lion - c.lion的博客
 
 
方法二:
最近我在这篇文章看到htop这个软件很强大~
1、安装htop  :   sudo apt-get install htop
2、应用程序--->系统工具----->Htop,打开它~
Ubuntu结束无响应进程的几种方法 - c.lion - c.lion的博客
3、比top强大多了,这里可以看到系统的信息,可以按照cpu、内存占用资源大小来排序,和windows一样,我们选 中某个进程,可以直接按F9或者用鼠标点击右边蓝色背景kill按钮,和dos感觉差不多,呵呵,这样就可以方便的结束某个进程了

注:PID那一栏的文字都可以用鼠标点,用来进行相应的排序,最下面一栏鼠标也可以用。
       tree可以查看进程的层次

----------------------------------------------------------------------------------------------------------------------------
 
 
下面是进阶教程,来自这篇文章http://www.bo128.cn/index.php?aid=98(不知怎么访问不了了)~~~~·

在本地Ubuntu Linux系统运行大软件的时候,或者服务器长时间运行后,由于有些设计有缺陷的软件,容易出现假死的情况!那程序假死了以后,我们该怎么办呢?其实这个 问题其实说简单也简单,直接结束进程不就OK了嘛!就像我们在Windows下面做的一样!下面来介绍几种Ubuntu Linux下面结束进程的几咱方法!

最安全杀死进程的方法

杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。

首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:
 
kill -pid

注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。

还可以使用如下命令来确定要杀死进程的PID或PPID

# ps -ef | grep httpd

以最优雅的方式来结束进程

# kill -l PID

-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

TERM信号

给父进程发送一个TERM信号,试图杀死它和它的子进程。
 
# kill -TERM PPID

killall命令

killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
 
# killall httpd

停止和重启进程

有时候只想简单的停止和重启进程。如下:
 
# kill -HUP PID

该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。

绝杀 kill -9 PID

同意的 kill -s SIGKILL

这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。

当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。

如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。

相关文章

精彩推荐