Linux学习笔记——进程管理

Linux进程管理
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命周期,是动态产生和消亡的。
2、程序和进程无一一对应关系,一个程序可以由多个进程共用;另一方面,一个进程在活动中又可顺序的执行若干个任务。
父进程和子进程
1、子进程是由一个进程所产生的进程,产生这个进程的进程称为父进程。
2、在Linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈以及父进程的终止环境。
3、父进程终止子进程自然终止。
前台进程和后台进程
前台进程
在Shell提示出打入命令后,创建一个子进程,运行命令,Shell命令等待退出,然后返回对用户给出提示符。这条命令与Shell异步执行,即在前台运行,用户在它完成之前不能执行另一个命令。
后台进程
在Shell提示出打入命令,若随后输入一个&,Shell创建的子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示符。这条命令与Shell同步运行,即在后台运行。后台进程必须是非交互式的。


进程状态(与操作系统的分时概念有关)
1、就绪:进程已经分配到资源,但因为其他进程正在占用CPU,所以它暂时不能运行而等待分配CPU的状态
2、等待:因等待某种事件而暂时不能运行的状态
2、进行:进程分配到CPU,正在处理器上运行


进程状态细化
用户执行态:在CPU上执行用户代码
核心运行态:在CPU上执行核心代码
在内存就绪:具备运行条件,只等调度程序为它分配CPU
在内存睡眠:因等待某一事件的发生,而在内存中排队等待
在外存就绪:就绪进程被交换到外存上继续处于就绪状态
在外存睡眠:睡眠进程被交换到外存上继续等待
在内存暂停:因调用stop程序而进入跟踪暂停状态,等待其父进程发送命令
在外存暂停:出于跟踪暂停态的进程被交换到外存上
创建态:新进程正在被创建,但尚未完毕的中间状态
终止态:进程终止自己




常用命令
w显示的含义
JCPU是用户占用的CPU的总时间,PCPU是执行某个操作时用的时间
what指用户正在干什么
load average是指在过去的1、5、15分钟内的平均负载程度,0.8以下就认为负载较轻
FROM显示用户从何处登陆,显示:0表示用户通过X window里的终端登陆
IDLE是用户闲置时间,一旦用户执行任何操作,该数据就会被更新


ps Process Status
常用选项
a:显示所有用户的进程
u:显示用户名和启动时间
x:显示没有控制终端的进程
e:显示所有进程,包括没有控制终端的进程
l:长格式显示
w:宽行显示,可以使用多个w进行加宽显示


[root@lovelock ~]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  1907  1903  0  80   0 - 27073 wait   pts/0    00:00:00 bash
4 R     0  1929  1907  0  80   0 - 27031 -      pts/0    00:00:00 ps
PID进程号,PPID父进程号,TTY进程启动的终端,
STAT进程当前状态:S休眠状态,D不可中断的休眠状态,R运行状态,Z僵死状态,T停止状态
NI 进程的优先级
TIME进程自启动以来占用CPU的总时间
CMD进程的命令名
USER用户
%CPU占用CPU时间和总时间的百分比
%MEM占用内存和系统内存总量的百分比


ps -le or -aux 查看所有用户执行的进程的详细信息
为什么要杀死进程?
该进程占用了过多的CPU时间
该进程锁住了一个终端,使其他前台程序无法运行
运行了过长时间,没有达到预期效果
产生了过多到屏幕或磁盘文件的输出
无法正常退出


kill 关闭进程
kill -9 进程号 强行关闭
kill -1 进程号 重启进程
关闭图形程序 xkill
结束所有同名进程 killall httpd
查找服务进程号pgrep 服务名称
关闭进程 pkil 进程名称
/proc 中的文件时存放在内存镜像中的,不是存放在硬盘中的。


nice和renice
nice
指定程序运行的优先级
格式 nice -n command
例如 nice -5 myprogram
renice
改变一个正在运行的进程的优先级
格式 renice n pid
例如renice -5 777
优先级的取值范围(-20~19)


nohup使进程在用户推出登陆以后继续执行
进程的挂起和恢复
挂起Ctrl+Z
终止Ctrl+C
进程的恢复
恢复到前台继续进行(fg)
恢复到后台继续执行(bg)
查看被挂起的进程(jobs)


top进程状态显示和进程控制,每五秒钟自动刷新一次(动态显示)
d 指定刷新的时间间隔
c显示整个命令行而不仅仅显示命令名
u查看指定用户的进程
k中止执行中的进程
h or ?获得帮助
r重新设置进程优先级
s改变刷新的时间间隔
W将当前设置写入~/.toprc文件中




计划任务
at 安排作业在某一时刻执行一次
at命令的功能和格式
at [-f 文件名] 时间
at -d or atrm 删除队列中的任务
at -l or atq查看队列中的任务
注意命令要写绝对路径
限制用户使用at的文件
/etc/at.allow
/etc/at.deny
如果两个文件都不存在,则只有root才能用at命令




batch 安排作业在系统负载不重时执行一次
是at 的子命令
一般情况下负载较轻只平均负载降到0.8以下




cron 安排周期运行的作业
crontab
-e 编辑
格式
分钟 小时 星期 命令/脚本
0 4 * * *
把知道的具体时间添上,不知道的都填*
计划任务执行时都生成临时文件,完成后会删除
进程处理方式
standalone独立运行 启动后一直在系统中运行等待监听端口的请求,一旦有请求,马上给出应答,占用的系统资源比较多,所以相应速度快webserver往往都是standalone
xinetd进程托管 互联网超级守护进程,中间监听
atd、crond计划任务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值