Linux进程管理与计划任务
2015-06-11 11:08
579 查看
程序是一个静态的概念,最为软件资源长期存在于硬盘中。 进程是一个动态的概念,是程序的执行过程。 程序与进程没有一一对应的关系。 进程与程序也没有一一对应关系。 |
父子进程关系: 系统使用fork创建进程,子进程由父进程产生。 父进程终止,子进程自然终止。 如果父进程终止,子进程归属于root(1)进程所有。 |
前台进程: 命令与shell异步运行,即前台运行,用户在其完成前不能执行另一命令。 ~~~~~~~~~~~~~~~~~~~~~ 后台进程: 命令与shell同步运行,后台进程必须是非交互式的。 |
进程状态的细化分类: 用户态运行:在CPU上执行用户代码。 核心态运行:在CPU上执行核心代码。 在内存就绪:具备运行条件,等待调度程序为它分配CPU。 在内存睡眠:因等待某事件发生,而在内存中排队等待。 在外存就绪:就绪进程被交换到外存上继续处于就绪态。 在外存睡眠:就绪进程被交换到外存上继续等待。 在内存暂停:因调用stop程序而进入跟踪暂停状态,等待其父进程发送命令。 在外存暂停:处于跟踪暂停态的进程被交换到外存上。 创建态:新进程正在被创建,但尚未完成的中间态。 终止态:进程终止自己。 |
w | 查看当前登陆的用户状态。 |
显示项JCPU | 显示该终端所有相关进程执行消耗的CPU时间。 |
PCPU | CPU执行程序消耗的时间。 |
WHAT | 用户正在执行的操作。 |
load average | 显示当前系统平均负载程度。显示过去1、5、15分钟的平均值 |
FROM | 显示用户从何处登陆。:0表示从Xwindow登陆。 |
IDLE | 用户闲置时间。 |
ps | 进程管理命令 |
-a | 显示所有用户进程 |
-u | 显示用户名和启动时间 |
-x | 显示没有控制终端的进程 |
-l | 长格式显示,即显示详细信息 |
-w | 宽行显示,可以使用多个w进行加宽显示 |
-e | 显示所有进程,包括没有控制终端的进程 |
pstree | 查看系统中进程信息,以树状显示。 |
显示选项的含义 | |
PID | 进程号 |
PPID | 父进程进程号 |
TTY | 进程启动的终端 |
STAT | 进程当前状态 |
S | 休眠状态 |
D | 不可中断的休眠状态 |
R | 运行状态 |
Z | 僵死状态 |
T | 停止状态 |
NI | 进程优先级 |
TIME | 进程自启动以来占用CPU的总时间 |
COMMAND/CMD | 进程的命令名 |
USER | 用户名 |
%CPU | 占用CPU时间和总时间的百分比 |
%MEM | 占用内存与系统内存总量的百分比。 |
ps -aux --sort pid 可以按进程执行的时间、PID、UID等对进程进行排序。
ps -uU 用户名 查看系统中指定用户执行的进程
ps -le|grep init 查看指定进程的信息。
kill | 杀死进程。 |
kill PID | 关闭进程,关闭父进程可以直接导致其子进程关闭 |
kill -9 PID | 强制关闭 |
kill -1 PID | 重启进程 |
xkill | 关闭图形进程 |
killall | 关闭进程同名的进程 |
pgrep 服务名 | 查找服务进程号 |
pkill 进程名 | 关闭进程 |
nice | 指定程序的运行优先级 | nice -n 程序名(PID) |
renice | 改变一个正在运行的程序的优先级 | renice -n 程序名(PID) |
优先级的范围为(-20,19) | 优先级的缺省为0 |
no hup program & | 当用户退出时继续执行 |
CTRL+Z | 进程挂起 |
CTRL+C | 终止进程 |
fg | 恢复到前台继续执行 |
bg | 恢复到后台继续执行 |
jobs | 查看被挂起的进程 |
top | 相当于进程管理器,会动态刷新 |
下面指令是在top运行后键入的 | |
d | 指定刷新间隔,默认是3秒钟更新 |
c | 显示整个命令行而不是仅仅显示命令名 |
u | 查看指定用户的进程 |
k | 终止执行中的进程 |
h or ? | 获得帮助 |
r | 重新设置进程优先级 |
s | 改变刷新时间间隔 |
W | 将当前设置写入~/.toprc文件中 |
计划任务命令 | |
at | 安排作业在某一时刻执行一次 |
batch | 安排作业在系统负载不重时执行一次 |
cron | 安排周期性运行的作业 |
at [-f 文件名] 时间 | |
at -d or atrm | 删除队列中的任务 |
at -l or atq | 查看队列中的任务 |
at的时间表示法 |
绝对计时方法: midnight noon teatime hh:mm[today] hh:mm tomorrow hh:mm week hh:mm MM/DD/YY |
相对计时方法: now +n minutes now +n hours now +n days |
crontab | 命令格式 |
crontab{-l|-r|-e} | |
-l | 显示当前的crontab |
-r | 删除当前的crontab |
-e | 使用编辑器编辑当前的crontab文件 |
crontab -e |
分钟 小时 天 月 星期 命令/脚本 |
Minute 一天中的哪一分钟【0~59】 |
hour 一天中的哪个小时【0~23】 |
day-of-month 一月中的哪一天【1~31】 |
month-of-year 一年中的哪个月【1~12】 |
day-of-week 一周中的哪一天【0~6】 |
以每天凌晨4点的计划任务举例 |
0 4 * * * 命令,不知道不清楚用*表示 |
逗号用来分隔不连续的值,-用来连接连续的值 |
*/2每隔两分钟,命令建议使用绝对路径 |
使用which 命令名查看命令的绝对路径 |
相关文章推荐
- Linux下安装firefox最新版
- 每天一个linux命令(26):用SecureCRT来上传和下载文件(转载自竹子)
- Linux-软连接与硬链接
- Linux下Makefile的编写
- Linux升级Ruby
- linux中的IIC设备驱动
- DDoS deflate - Linux下防御/减轻DDOS攻击
- Linux内核中的Kconfig、Makefile、.config
- Linux上iptables防火墙的基本应用教程(优秀)
- CentOS6.5 (64bit) 光盘内部FTP源
- linux驱动模块
- Linux 文件内容查看命令
- Linux上ssh免密码登录
- 以下内容参考了抚琴煮酒的《构建高可用Linux服务器》第六章内容
- 收集的 Linux CAT用法
- Linux dkpg命令
- Linux启动报错UNEXPECTED INCONSISTENCY; RUN FSCK MANUALLY
- 嵌入式 Linux线程同步读写锁rwlock示例
- linux set
- Linux rpm安装MySQL