什么是程序?
程序:在硬盘上躺着,执行特定任务的一串代码 静态
进程:加载到内存中运行 动态
进程是程序的副本,进程是有生命周期,是硬件资源分配的最小单位
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 显示以及打开的文件