进程管理
来源:互联网 发布:淘宝买便宜东西的软件 编辑:程序博客网 时间:2024/06/03 21:34
linux的进程之间的调用(fork and exec)
(1)系统先以 fork 的方式复制一个与父进程相同的暂存进程,这个进程与父进程唯一的差别就是 PID不同! 但是这个暂存进程还会多一个 PPID 的参数, PPID 就是父进程的进程标识符
(2)暂存进程开始以 exec 的方式加载实际要执行的程序,最终产生子进程
服务(daemon):常驻在内存中的进程
服务大致可分为系统所需要的服务(e.g. crond和atd)和负责网络联机的服务(httpd,vsftpd)
多重登入环境的七个基本终端窗口:
在 Linux 当中,默认提供了六个文字界面登入窗口,以及一个图形界面,你可以使用 [Alt]+[F1]…..[F7]来切换不同的终端机界面,而且每个终端机界面的登入者还可以不同人!
特殊的进程管理行为:
如果我在 Linux下以文字界面登入,在屏幕当中显示错误讯息后就挂了~动都不能动,该如何是好!? 这个时候那默认的七个窗口就帮上忙啦!你可以随意的再按 [Alt]+[F1]…..[F7] 来切换到其他的终端机界面,然后以 ps -aux 找出刚刚的错误进程,然后给他 kill 一下,回到刚刚的终端机界面
bash 环境下的工作管理 (job control):
在单一的bash接口下,如何同时进行多个工作?
e.g.
cp file1 file2 &
在这一串指令中,重点在那个 & 的功能,他表示将 file1 这个文件复制为 file2 ,且放置于背景中执行, 也就是说执行这一个命令之后,在这一个终端接口仍然可以做其他的工作!而当这一个指令(cp file1 file2) 执行完毕之后,系统将会在你的终端接口显示完成的消息!
工作管理(job control)
进行工作管理的行为中, 其实每个工作都是目前 bash 的子进程,亦即彼此之间是有相关性的。 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的bash !
bash中进行job control的限制:
- 这些工作所触发的进程必须来自于你 shell 的子进程(只管理自己的 bash);
- 前景:你可以控制与下达指令的这个环境称为前景的工作 (foreground);
- 背景:可以自行运作的工作,你无法使用 [ctrl]+c 终止他,可使用 bg/fg 调用该工作(背景中的工作分为两种状态执行中的和暂停);
- 背景中『执行』的进程不能等待 terminal/shell 的输入(input)
将背景工作拿到前景来处理:fg
查看当前有多少工作在背景执行:jobs
jobs [-l]fg %jobnumber
让工作在背景下的状态变成运作中: bg
杀死在背景中的工作: kill
bg %jobnumberkill -signal %jobnumber
进程的观察
ps截取一个时间点进程的状态
ps aux //查看系统的所有进程数据ps -l //查看当前bash相关的进程
top可以持续观察进程的状态
top [-d 数字] | top [-bnp]
系统资源的观察
free :观察内存使用情况
uname:查阅系统与核心相关信息
uptime:观察系统启动时间与工作负载
netstat :追踪网络或插槽文件
dmesg :分析核心产生的讯息
vmstat :侦测系统资源变化
pidof :找出某支正在执行的程序的 PID
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- C#下利用移植的qrencode生成二维码
- linux删除命令
- 宏定义 枚举类型 const之间的区别
- 简述接口测试
- MongoDB:14-MongoDB- 原子操作
- 进程管理
- (angularjs) 数据的增删改查(添加用户,查询年龄,批量删除,全部删除,修改密码) 类似题
- 作业p59-60
- day03-用户和组和权限管理和特殊权限
- 报名已经完成,开始备考
- Solr主要配置文件之schema.xml。
- Android题目笔记(三)
- BottomTabBar使用
- 作为一个程序员需要学习多少技能?