完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
进程指正在运行的程序,资源分配的最小单位,可以通过“ps ”或“top”等命令查看正在运行的进程,线程是系统的最小调度单位,一个进程可以拥有多个线程,同一进程里的线程可以共享此进程的同一资源。本章代码在process/目录下。
进程类型: 1.交互进程:由shell启动,用户和计算机进行问答的进程。 2.批处理进程:不与特定终端相关联,将任务提交到等待队列按顺序执行的进程。 3.守护进程:后台运行的特殊进程,用户不能和它进行会话。 进程的三种状态: 1.png 1.运行态,正在运行或在运行队列中等待。 2.可中断等待态,休眠, 在等待申请的资源有效或等待中断,信号唤醒。 3.不可中断等待态,休眠等待资源有效,不能被中断或信号唤醒。 4.终止态,进程被停止或者被跟踪状态,收到SIGCONT信号时,又会恢复运行状态。 5.僵尸态,进程因某种原因而中止运行,但进程描述符仍存在,不可被Kill。 如果想销毁某一进程,可在终端输入“ps -elf”查看进程号,如图 66.2: 3.png 如果要销毁qtcreator进程,使用“kill -9 3001”可以销毁它, 2.png 1进程创建 所有的进程都是由其他进程创建(除了pid为0号的idle进程),pid号为1的init进程是系统启动后运行的第一个进程,是所有进程的父进程,init进程会初始化一部分系统服务,创建其他进程。 创建新进程的那个进程称为父进程,新进程称为子进程,父进程和子进程拥有相同的代码段数据段,有各自独立的地址空间。采用写时拷贝威廉希尔官方网站 ,即创建的新进程不会立即把父进程的资源空间复制过来,只有在修改时才会复制资源,另外父进程挂起的信号和文件锁不会被子进程继承。 子进程结束后,它的父进程要回收它的资源,否则就会成为僵尸进程 。 如果父进程先结束,子进程会被init进程收养,称为孤儿进程。 终端输入“ps -el”查看进程状态,PID为进程号,PPID为此进程的父进程号,如图 1.1,1505号进程的父进程为1366进程。 4.png 5.png getpid():获取进程PID, 返回值为PID号。 fork():系统调用,创建一个进程, #include pid_t fork(void); 调用成功父进程返回子进程号,子进程返回0,失败返回-1。 如以下代码: for.c: 打印结果: 8.png 程序执行过程中第一次调用fork()进程2531创建子进程2532;第二次fork(),进程2531创建子进程2533,进程2532创建2534,创建过程如图 1.3: 9.png |
|
|
|
只有小组成员才能发言,加入小组>>
663 浏览 0 评论
1083 浏览 1 评论
2456 浏览 5 评论
2784 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2619 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
642浏览 9评论
639浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
769浏览 6评论
613浏览 5评论
654浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 21:47 , Processed in 0.974697 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号