2019/01/13进程编程

本文深入探讨Linux系统中进程的概念,包括进程的定义、资源分配、生命周期及死锁问题。详细讲解了如何使用ps-elf命令查看进程,通过Ctrl+z、./文件名和fg等操作控制进程状态,以及如何避免文件交换。同时,介绍了system、exec、fork和vfork等关键函数的使用方法及其区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 理论知识:是具有一定独立的功能程序的一次运行活动,同时也是资源分配的最小的单元。
  2. ps -elf 查看linux里面的进程,ps -elf | grep + 关键字(如test)搜索进程 ;ppid 父进程 ,pid 进程的编号(子编程),CMD进程的名称, UID 进程属于的用户。
  3. Ctrl + z 使进程在后台继续运行, ./+文件名 表示启动进程, fg 把后台的进程切换到前台继续进行运行;如果发生文件交换的话,用ls -a命令找到隐藏的文件删除,在进入要编辑的文件,就不会发生文件交换的情况了。
  4. 在vim的屏幕的命令行中,用shift+zz 也是表示退出。
  5. 进程的生命周期:创建,运行(执行,就绪,等待),撤销。
  6. 死锁问题:多个进程因竞争资源而形成的一种僵局,若无外力作用,将无法进行下去。
  7. system(“clear”)清除屏幕的信息。
  8. exec用被执行的程序替换调用它的程序。 exec用被执行的程序替换调用它的程序。
    区别:
    fork创建一个新的进程,产生一个新的PID。
    exec启动一个新程序,替换原有的进程,因此进程的PID不会改变
    int execl(const char * path,const char * arg1, …) int execl(const char * path,const char * arg1, …)
  9. pid_t wait (int * status)功能:阻塞该进程,直到其某个子进程退出。
  10. fork 和vfork 的区别 fork:子进程拷贝父进程的数据 ,vfork:子进程与父进程共享数据 ;fork:父、子进程的执行次序不确定, vfork:子进程先运行,父进程后运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值