进程命令

1.进程的概念

  • 程序:存放在磁盘上的指令和数据的有序集合(文件),静态的
  • 进程:执行一个程序所分配的资源的总称;进程是程序的一次执行过程;进程是动态的,包括创建、调度、执行和消亡

2.进程内容

  • 正文段
  • 用户数据段
  • 系统数据段
    系统数据段包含进程控制块、CPU寄存器值、堆栈
    1.进程控制块(pcb):存放进程属性,操作系统可通过进程控制块来管理进程。包含:进程标识PID,即进程号;进程用户,即进程由哪个用户创建;进程状态,优先级;文件描述符表,用来记录进程打开的文件
    其中正文段和用户数据段称程序

3.进程类型

  • 交互进程:在shell下启动.可在前台运行./a.out,也可以在后台运行.a/out &
    1.前台:进程可输出,也可以通过终端向进程输入
    2.后台:进程可输出,不能通过终端向进程输入
  • 批处理进程:和在终端无关,被提交到一个作业队列中以便于顺序执行
  • 守护进程:和终端无关,一直在后台运行

4.进程状态

  • 运行态:进程正在运行,或者准备运行
  • 等待状态(阻塞):进程在等待一个事件的发生或某种系统资源
    1.可中断:进程状态可以被信号打断
    2.不可中断:进程状态不可以被信号打断
  • 停止态:进程被中止,受到信号后可继续运行.例如调试程序时候的断点
  • 死亡态(僵尸态):已经终止的进程,但pcb未被释放,其他资源已经被释放
  • 各进程状态图解


进程开始处于就绪态,等待CPU调度,当分配给进程的时间片用完后,进程将进入就绪状态,等待调度;
当一个进程正在运行时候如果没有资源,则进程会进入阻塞状态;
当一个进程正在运行时候收到停止信号则会进入停止状态,收到恢复信号又会进入就绪状态;

5.查看进程信息

  • 相关命令
    ps 查看系统进程快照
    ps -ef|more 按批次显示所有进程信息
    ps -ef|grep 进程名 显示指定进程名信息
    ps aux|more 进程名 显示指定进程名信息和状态
    ps aux|grep 进程名 显示指定进程名信息和状态
    man ps 可查看进程状态码
    top 查看进程动态信息
    /proc 查看进程详细信息
    cd /proc 进入proc文件夹下根据进程号查看详细进程信息

6.修改进程优先级

进程优先级为-20~19,默认为0,值越小优先级越高
nice 按用户指定的优先级运行进程
nice -n 2 ./test 以优先级为2运行test程序
普通用户只能修改优先级为整数,root随意
renice 改变正在运行的进程优先级
renice -n 2 进程号 修改指定进程号进程优先级
普通用户只能降低优先级,root随意

7.查看后台进程

jobs 查看后台进程
bg 作业号 将指定作业号挂起的进程在后台运行
fg 作业号 将指定作业号后台进程放在前台运行

后台转前台:

hanqi@hanqi-PC:~/C/IO$ ./a.out &
[1] 7907
hanqi@hanqi-PC:~/C/IO$ ./a.out &
[2] 7908
hanqi@hanqi-PC:~/C/IO$ jobs
[1]-  运行中               ./a.out &
[2]+  运行中               ./a.out &
hanqi@hanqi-PC:~/C/IO$ fg 1
./a.out
^C
hanqi@hanqi-PC:~/C/IO$ jobs
[2]+  运行中               ./a.out &
hanqi@hanqi-PC:~/C/IO$ fg 2
./a.out
^C

前台转后台:Ctrl + Z

hanqi@hanqi-PC:~/C/IO$ ./a.out 
^Z
[1]+  已停止               ./a.out
hanqi@hanqi-PC:~/C/IO$ bg 1
[1]+ ./a.out &
hanqi@hanqi-PC:~/C/IO$ fg 1
./a.out
^C
hanqi@hanqi-PC:~/C/IO$ 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。