进程按照启动方式,可以分为2种
1.守护进程:系统启动过程中自动启动,与终端无关的进程;
2.前台进程:用户通过终端启动,与终端相关的进程。(注意:也可把在前台启动的进程送往后台,以守护模式运行)
进程按照状态,可以分为如下几种
1.运行态(running)
2.就绪态(ready)
3.睡眠态,可中断(interruptable)
4.睡眠太,不可中断(uninterruptable)
5.停止态(stopped):暂停于内存中,但不会被调度,除非手动启动之;
-6.僵死态(zombie)
进程按照运行情况又可以分为CPU密集型和IO密集型。
Linux系统中进程相关的命令主要有:ps
、kill
、top
。
1. ps - report a snapshot of the current processes.
ps命令用于报告当前进程快照。
SYNOPSIS
选项有3种风格:
1 UNIX options
2 BSD options
3 GNU long options
ps [options]
OPTIONS
# BSD
a:所有与终端相关的进程
x:所有与终端无关的进程
u:以用户为中心组织进程状态信息显示
# UNIX
-e:显示所有进程
-f,-F:显示完整格式的进程信息
-o field1,field2,...:自定义要显示的字段列表,以逗号分隔
常用命令
# 显示所有进程
ps aux
ps -ef
# 以自定义格式查看线程
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan
2. kill:向进程发送信号,以实现对进程的管理
用法
# 显示当前系统可用信号
kill -l [signal]
[信号的标识方法]
1) 信号的数字标识;
2) 信号的完整名称;
3) 信号的简写名称;
# 向进程发信号
kill [-s signal|-SIGNAL] pid ...
[常用信号]
1) SIGHUP:无须关闭进程而让其重读配置文件;
2) SIGINT:终止正在运行的进程,相当于Ctrl+c
9) SIGKILL:杀死运行中的进程;
15)SIGTERM:终止运行中的进程;
18)SIGCONT:
19)SIGSTOP:
3. killall:使用进程的名称来杀死进程一组同名进程
killall [-SIGNAL] name ...