Linux小推车

Linux(十一):进程管理

2019-08-12  本文已影响0人  末池桑

使用 Windows 时,经常会出现莫名其妙程序卡死无响应的状态,这个时候我们都需要调出任务管理器来强制终止进程,这其实就是 Windows 下的一个进程管理办法。相对的 Linux 下也有进程管理,面对服务器黑压压的命令行界面,我们没法像 Windows 一样调出一个 UI 界面来管理进程,所以熟练掌握 Linux 下的进程管理命令是非常重要的。

一、显示当前系统进程

 PID :进程识别号
 TTY :终端机号
 TIME:此进程消耗的 CPU 时间
 CMD :正在执行的命令或者进程名
# 一般我们都会使用 ps -aux |more 命令查看进程信息
-a  : 显示当前终端的所有进程信息
-u  : 以用户的格式显示进程信息
-x  : 显示后台进程运行的参数

其中第一行每一列的详细信息分别如下:

USER :  用户名
 PID :  进程号
%CPU :  进程占用 CPU 百分比
%MEM :  进程占用物理内存百分比
 VSZ :  进程占用虚拟内存大小(KB)
 RSS :  进程占用的物理内存大小(KB)
 TTY :  终端名称
STAT :  进程状态(S-睡眠,s-表示该进程是回话先导进程,R-正在运行,D-等待运行,
         N-表示进程有比普通进程优先级更低的优先级,Z-僵死进程,T-被跟踪or被终止等待)
START:  进程启动时间
TIME :  进程使用 CPU 的时间
COMMAND : 启动进程时所用的命令和参数,过长会被截断显示
ps -ef 
-e:  显示所有进程
-f : 全格式显示
UID :用户名
PID :进程号
PPID :父进程号
C :  CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,
      执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高。
STIME :进程启动的时间
TTY :  终端名称
TIME : CPU时间
CMD :  启动进程时所用的命令和参数

二、终止进程

# 通过进程号杀死进程
kill PID 
# 强制杀死进程
kill -9 PID 
# 通过进程名可以杀死多个进程
killall 进程名

三、进程树

pstree 命令可以调出进程树,以便更直观的看到进程信息,命令详情如下:

# 显示进程树
pstree   
-p :显示进程 ID
-u :显示进程所属用户
pstree -pu

四、服务管理

服务的本质其实就是后台运行的进程,一般都会监听某个端口,等待其他程序发送过来的请求, 例如:MySQL、Web服务、Ngnix、防火墙等,这些其实都是运行在计算机后台的程序,也称守护进程。

# 启动 mysql 服务
service mysql.server start
# 停止mysql 服务
service mysql.server stop
# 重新启动 mysql 服务
service mysql.server restart
# 查看 mysql 服务状态
service mysql.server status
# 启动 mysql 服务
service mysql.server reload

注: CentOS 7之后,不再使用 service ,而是 systemctl

ls -l /etc/init.d

五、运行级别

0 : 系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动
1 : 单用户工作状态,root 权限,用于系统维护,禁止远程登陆
2 : 多用户状态(没有 NFS),不支持网络
3 : 完全的多用户状态(有 NFS),登陆后进入控制台命令行模式
4 : 系统未使用,保留
5 : X11 控制台,登陆后进入图形 GUI 模式
6 : 系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动

Linux 开机全过程:
开机 > BIOS > /boot > init 进程 > 运行级别 > 运行级别对应的服务

# 查看服务
chkconfig --list  
# 按服务名查看某个服务启动状态
chkconfig --list |grep ssrmu
chkconfig ssrmu --list 

修改服务自启动状态,可以使用如下命令:

# 所有级别下 打开/关闭 serviceName 服务自启动
chkconfig sevicrName on/off
# 打开/关闭 serviceName 服务在 int 运行级别下的自启动
chkconfig --level int serviceName on/off

六、查看OS版本

不同的os发行版可能会有略微的差别,配置文件位置以及命令可能有所区别,这里提供查询OS版本的命令。

cat /etc/issue
cat /proc/version
uname -a 
uname -s

七、动态监控进程

-d int : 指定 top 命令
-i  : 使 top 不显示任何闲置或者僵死进程
-p : 指定 PID 来监视某个进程的状态
P     以 CPU 使用率排序(默认)
M     以内存使用率排序
N     以 PID 排序
q     退出top
K     按 k 键可以输入 PID 杀死进程

八、查看系统网络情况

 # 查看网络详情
netstat -anp
-an :按一定顺序排列输出
-p  :显示哪个进程在调用
-t  :和 tcp 有关 
-d  : 和 udp 有关

九、后台运行进程

注:先 ctrl + z 将命令挂起到后台,再使用 bg 就可以让其继续在后台执行,使用 fg 又可以在终端执行。

上一篇 下一篇

猜你喜欢

热点阅读