程序管理
什么是进程
- 进程与程序
- 进程:程序被触发后,执行者的权限与属性,程序代码与所需数据等都会被加载到内存中,操作系统给予一个标识符(PID),可以说,进程就是一个正在运行中的程序。
- 程序:通常为二进制程序防置在存储媒介中(如硬盘,光盘,软盘,磁带等),以物理文件的形式存在。
- Linux的多用户多任务环境
- Linux 可以有多种不同的账号,可以有多个用户,root为系统管理员
- 当多人登入系统时,由CPU调度切换进程的工作,即多任务,以实现CPU性能的最大化。
工作管理
- 什么是工作管理:是用在bash环境下的,当登入系统取得bash shell之后,在单一终端机上同时进行多个工作的行为管理。
- 工作管理的限制
- 这些工作所触发的进程必须来自于你shell的子进程(只管理自己的bash)
- 前台:你可以控制和执行命令的环境
- 后台;可以自行运行的工作,无法用ctrl+c终止它,可使用bg/fg调用该工作
- 放入后台的工作不能是交互式的
- job control的管理
- &:直接将命令丢到后台执行
- [ctrl]-z:将目前的工作丢到后台中
- jobs:查看目前的后台工作状态
- fg:将后台工作拿到前台来处理
- bg:让工作在后台下的状态变成运行中
- kill -signal %jobnumber:管理后台当中的工作
进程管理
- 进程查看:
- ps aux查看系统所有的进程数据
- top 动态查看进程的变化
- 进程管理:进程之间是可以互相控制的,传递信息主要通过kill命令
- 系统资源的查看
- free:查看内存使用情况
- uname:查看系统与内核相关信息
- netstat:跟踪网络
特殊文件与程序
- 具有SUID/SGID权限的命令执行状态
- SUID仅对二进制程序有效
- 执行者对该程序有执行权限
- 本权限仅在执行该程序的过程中有效
- 执行者将具有该程序所有者的权限
- /proc/*代表的意义:特殊的系统文件,内存当中的数据都是写到这个目录下
- 查询已打开文件与已执行程序打开的文件
- fuser:通过文件找出正在使用该文件的程序
- lsof:列出被进程所打开的文件名
- pidof:找出某个正在执行的进程的pid