《Unix&Linux大学教程》学习笔记七:进程与作业控制
2024-09-09 20:43:54
1:进程:一个内存中的程序+程序所需数据+管理程序的各种状态信息。
2:进程由内核进行管理,内核使用调度器,给予进程一个时间片来运行,然后切换到下一个进程。
3:进程分叉
fork :创建一个子进程
wait :强制进程暂停,等等另一个进程执行完毕
exec :改变当前进程执行的程序(在当前进程启动一个程序)
exit :终止当前进程
kill :杀死一个进程
4:区分父进程or子进程
父进程调用fork返回子进程的进程ID;
子进程调用fork返回0。
5:系统进程的源头——init进程
在系统引导过程中,内核手动创建一个空闲进程#0,空闲进程创建初始化进程#1,然后处于无限循环状态,不做任何事,因此进程表上找不到它,认为它不存在。
而进程#1进行内核的相关设置以及结束引导的相关操作,在此期间打开控制台、挂载文件系统、运行系统初始化脚本等,进程#1分叉出众多子进程,所以成为init进程。
系统中有任何子进程成为“孤儿进程”时,init进程会自动接过父进程的角色,确保子进程能正常结束。
6:前台进程与后台进程
前台进程:启动后,shell等待它运行结束。
后台进程:启动后,在后台运行进程,shell直接等待下一条命令。
command & :指令后加 & ,使该程序作为后台进程来执行
7:进程休眠
sleep 时间[s,m,h,d]
8:作业控制
9:作业挂起与恢复
在当前运行的作业中,按下 ^Z 挂起作业,输入 fg 恢复作业。
10:shell的挂起与恢复
suspend :挂起shell
fg :恢复
11:显示当前所有作业
jobs
12:将作业恢复(移到前台)
fg 作业
13:将作业移到后台
bg %job
14:查看进程信息、状态
ps
15:杀死进程
kill pid|jobid
16:较低优先级运行
nice command
17:守护进程
最新文章
- 【Linux管理】用户管理
- 【C#进阶系列】30 学习总结
- Java中Array.sort()的几种用法(需要初始化要排序的对象)
- Computer vision labs
- wav文件格式分析(三)
- 超好玩!10款神奇的字符图案 &; 词汇云生成工具
- 【转】PWM占空比和分辨率
- Linux下gcc和g++编译helloworld
- Android保存设置的PreferenceActivity
- POS tagging的解釋
- 了解SVG
- Hibernate简单的基础理论
- php下载远程图片方法总结(curl手动解析header)curl跳转问题解决
- 阻止check事件冒泡
- Bootstrap入门(二十一)组件15:警告框
- mysql中多个left join子查询写法以及别名用法
- Android View的重绘ViewRootImpl的setView方法
- XSS,CSRF,Cookie防劫持的处理
- Axure RP 介绍
- python---wsgiref初探