您的位置:首页 > 运维架构 > Linux

Linux学习之路——进程及任务的安排

2016-02-15 13:49 387 查看
1.进程和进程控制的概念

查看进程状态

w 查看个别用户的进程 w 用户名

JCPU:以中文代号区别该终端所有进程账号执行所消耗的cpu时间的显示

PCPU:cpu执行程序耗费的时间

WHAT:用户正在执行的程序

from;显示用户从何处登陆的

IDLE:用户闲置的时间

ps -aux

-a显示所有用户的进程

-u显示用户名和启动的时间

-x:显示没有控制终端的进程

ps -el

-e :显示所有进程,包括没有控制终端的进程

-l:长格式显示

PID:进程号

PPID:父进程的进程号

TTY:进程启动的终端

STAT:进程运行的状态

s:休眠 D不可中断的休眠状态

R:正在运行 Z;僵死状态 (没有父进程的子进程)

T:停止

NI:进程优先级

TIME:进程从启动以来占用cpu的总时间

eg:ps -aux --sort pid #按pid 对进程进行排序

ps -aux|grep xclock #使用管道输出关于xclock的进程信息

进程的挂起和恢复

杀死或重新启动进程

改变进程优先级

2.进程状态的查看与控制

杀死进程: kill 进程号

kill -s 信号 进程号 # 将信号发送给进程,可以杀死进程

kill -l #列出所有信号

killall 进程名(eg.cmd)#杀死所有与进程名有关的进程

xkill #点击任何图形界面后,会杀死这个图形进程

改变进程的优先级(-20到19)

nice -n command & #制定程序运行优先级(&表示在后台运行)

nice n pid #改变一个正在运行的进程的优先级

进程状态的更新:

top:进程状态显示和进程控制,默认是每5s钟自动刷新一次(动态的显示)

top -d 3 指定每三秒刷新一次

-c 显示整个命令行而不仅只是显示命令名

-q 立刻显示更新所显示的信息

进程的挂起与恢复:

进程转后台:ctrl+z或bg 标志号 (挂起) 如果开启时,可以在后面使用&

进程中断: ctrl+c

查看后台有多少进程:jobs

将后台的进程转到前台:fg 标志号

后台进程可以转到前台用kill杀死,

3一次性安排进程任务

at 安排作业在某一时刻执行一次

batch 安排作业在系统负载不重时执行一次

第一:开启 atd

service atd start

at 时间 #注意:在某个时间点执行某个程序(命令),一定要使用命令的全路径eg. cp为 /bin/cp(可用whereis查看命令的路径)

1绝对计时方法 midnight noon today H:M tomorrow H:M mm/dd/yyyy

2.相对计时方法 now +n minutes

now +n hours

now +n day

指定在今天下午5“30执行某个程序(假设现在是中午12:00,2009、9、16)

at 5:30pm

at 17:30

at 17:30 today

at now + 5 hours

at now +300 minutes

at 17:30 16.9.2009

at 17:30 9/16/2009

>/ bin/cp -r /root/* /home/xsphp

at -l或者atq 来查看任务

at -d或atrm 删除任务

使用命令文件

at -f 文件 时间点 #可以将命令写进一个文件,方便之后编辑

at < 文件 时间点

at的执行结果和配置文件

at的结果 通过邮件寄给提交这个命令的用户

at的配置文件,限制哪些用户可以使用at命令

/etc/at.allow

如果这个文件存在,那么只是列在此文件中的用户才可使用at命令,如果这个文件不存在则查/etc/at.deny

/etc/at.deny

如果这个文件存在,则在此文件中列出的用户都不能使用at命令

如果这两个文件都不存在,则只有root 用户可以使用at命令

如果两个文件都存在,而且均为空,则所有用户都可以使用at命令

4.周期性安排进程任务

1、使用service crond start(开启crond进程)

crond进程搜索crontab文件并放入内存

crondab文件即/var/spool/cron/目录下以用户名命名的文件

crond进程启动以后,它将首先检查是否用户设置了crontab文件,如果没有,转入"休眠"状态,释放系统资源

crond 进程每分钟醒来一次,查看crontab文件决定当前是否有需要执行的命令,命令执行结束后,任何输出都将作为邮件发送给crontab的所有者

crontab -e 使用编辑器编辑当前的crontab文件,当结束时会自动安装

crontab -l 在使用标准输出中输出显示当前的crontab

crontab -r 删除当前的crontab文件

由六部分组成

minute :一小时中的哪一分钟[0-59]

hour :一天中的哪个小时[0-23]

day of month :一个月中的哪一天[1-31]

month of year :一年的哪一个月[1-12]

day of week:一周中的哪一天[0-6]

commands:执行的命令。也可以使用命令的全路径/bin/cp不能是cp

这些项都不能为空。必须填入

如果用户不需要指定其中的几项,那么可以使用通配符号*表示任何时间,每个时间字段都可以指定多个值,它们可以用逗号间隔

命令应该给出绝对路径,用户必须具有运行所对应命令或程序的权限

/etc/cron.allow 同之前的at

/etc/cron.deny
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: