什么是程序?
程序:在硬盘上躺着,执行特定任务的一串代码? ?静态
进程:加载到内存中运行? ? 动态
进程是程序的副本,进程是有生命周期,是硬件资源分配的最小单位
pid号可以通过pstree -p? 查到?
?
uid (用户id)? gid(组id)?需要看谁来运行进程,决定对文件系统的存取和访问权限,以谁的身份运行,就有谁的权限
systemd 是所以程序的父进程!
进程的特征:
进程的控制:每开启一个进程,会消耗相应的硬件资源(内存、cpu、磁盘读写)
?
?
进程----------------线程---------------------协程’
?进程:硬件资源分配的最小单位? 只接收任务 不处理任务? 不干活(类似于领导)
线程:减少硬件资源的消耗,相同资源的存储,干活的那方(员工)
怎么确定一个程序是多线程还是单线程?
去看该进程的详细状态
cat? /proc该程序的pid号文件夹/status
?
?
?
?
或者利用 grep -i threads? /proc/pid号/status
?
或者prtstat? pid号
?
?进程使用的内存问题
如果内存不足?
关闭没有用的进程
硬件资源不足?
对进程进行管理
cpu时间分片:一个cpu可以干很多事
进程的状态
优先级
?PR + NI? 值越小 优先级
ps命令?
ps查看进程当前状态? ?(静态)
?
?
僵尸进程
?
?ps下的命令
top命令? 动态查看进程状态
?
?
?
?
losf? 显示以及打开的文件
?