嵌入式Linux学习DAY23—进程process

程序:储存在外存中的一段数据组成的文件

进程:使一个程序动态执行的过程,包括进程的创建、进程的调度、进程的消亡

进程相关命令:

1.top:动态查看系统中所有进程的信息(根据cpu占有率排序)

        PID:唯一识别进程的ID号

        优先级:Linux中数值低优先级高

        进程状态:

        R:运行态/就绪态

        S:睡眠态/可换醒态

        D:不可唤醒等待态

        T:暂停态

        Z:僵尸态----代码执行后空间未回收

        X:   结束态

2.nice:以指定优先级来运行 

        eg: nice -n 10 进程名   ----10为优先级

   renice:重新设置一个正在运行的进程的优先级

        eg:renice -n 10 PID  

3.kill:杀死指定的进程任务

        kill -9 进程PID  ----以第9种方式杀死PID

  killall:停止所有进程

        killall -9 进程名 ----杀死以该名称命名的所有文件名

4.ps -ef

查看当前时刻所有的进程信息----不会实时更新

PPID:父进程的ID号----进程是由老进程产生的

5.pstree

查看进程树的关系

6.ps -aux

查看进程信息

7.jobs

查看终端下后台执行的任务

8../a.out &

将./a.out后台运行

9.fg ID

将后台任务放前台运行

进程的创建

1.进程运行时,操作系统会为进程分配0~4G的虚拟内存空间,分为文本段,数据段,系统数据段
    文本段:
      也称为文本区,存放代码和指令
    数据段:
      也称为数据区,可以细分为:
            1.字符串常量区
            2.未初始化全局变量/静态变量
            3.已初始化全局变量/静态变量 
    系统数据段:
      包含堆区和栈区

2.两个进程中保存数据的地址相同,其内容不会相同,原因在于:在进程不被执行时,数据保存在物理内存中,执行时,传入虚拟内存中,因此,在两个进程中,(虚拟)地址相同,但内容不同。

3.多进程处理本质是宏观并行,微观串行

4.进程的创建 
      fork 
      pid_t fork(void);
      功能:
        创建一个子进程,新创建的进程称为原来进程的子进程,原来的进程称为新进程的父进程
      参数:
        void 省略
      返回值:
        成功子进程返回0 
        父进程返回子进程的PID 
        失败返回-1

        可通过返回值为0或pid来判断是什么进程,0为子进程,!0为父进程

        父进程调用fork创建子进程,子进程拷贝父进程的文本段、数据段、系统数据段  

      getpid
      pid_t getpid(void);
      功能:
        获得调用进程的PID号
      
      getppid
      pid_t getppid(void);
      功能:
        获得调用进程的PPID

  sleep函数

        功能:延时功能,sleep(a),a为几就延时几秒

5.进程结束:

    exit
    void exit(int status);
    功能:
      让进程结束
    参数:
      status:进程结束的状态


    _exit
    void _exit(int status);
    功能:
      让进程直接结束
    参数:
      status:进程结束的状态

6.进程消亡

僵尸进程的消亡:   1.让父进程先结束 2.让父进程回收子进程空间

孤儿进程的消亡:( 进程的父进程先结束,此时该进程称为孤儿进程)

   wait 
  pid_t wait(int *wstatus);
  功能:
    回收子进程空间
  参数:
    wstatus:存放子进程结束状态空间的首地址

  WIFEXITED(wstatus) 进程是否正常退出  

  WEXITSTATUS(wstatus)进程结束状态值

  WIFSIGNALED(wstatus)进程是否被信号杀死

  WTERMSIG(wstatus) 获得杀死进程的信号编号

  返回值:
    成功返回回收到的子进程PID
    失败返回-1 

  

  • 30
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值