Linux之进程管理&任务计划

戊戌年01月19日姓名:Kevin
###

一、进程管理

---------------------------------------------------------------------------------------------------------------------------------
1.了解:
Linux是一个多用户、多任务的操作系统,在系统中可以同时运行多个进程,当系统收到请求时,操作系统监控着一个等待执行的任务队列,这 些任务包括用户作业、操作系统任务、邮件和打印作业等。根据每个任务的优先级为每个任务分配时间片,每个任务都会被系统运行一段时间, 然后挂起,系统转而处理其他的任务,直到某个任务完成,从任务队列中去除
2.概念:
进程是在自身的虚拟地址空间运行的一个单独的程序,Linux上运行的所有内容都可以称之为进程(作业)
3.进程和程序区别:
进程不是程序由程序产生,随时发生变化的,动态的使用系统资源的程序; 程序是一个静态指令的集合,不占用系统资源,一个程序 可以启动多个进程
4.进程类型:
交互式进程:由shell启动并控制,可以在前台/后台运行;
批处理进程:与终端无关,在指定的时刻完成的一系列进程;
守护进程 :引导系统启动时执行即时的操作系统任务;
5.查看系统进程:
--ps命令:
ps [-aux~] 【-a:显示所有用户进程;-u:打印用户格式,显示用户名和进程起始时间; -x:显示不带终端控制的进程】
『输出字段的含义:~ %CPU:占用CPU时间和总时间百分比 %MEM:使用物理内存占总内存的百分比 VSZ:进程使用虚拟内存的大小/KB; RSS:进程占用的 物理内存总数量/KB; STAT:R:准备运行、 S:睡眠状态、 T:停止或追踪、 I:空闲、 Z:冻结』
--top命令
6.进程启动:
--手工启动: -前台启动:控制台输入的命令
-后台启动:在命令后+“ &”(启动长时间的格式化文本文件进程,为了不使shell在工作中“ 瘫痪”)
--调度启动:在指定时间启动(自动化)
7.结束进程:
--原因:
-该进程使用的CPU时间过多; -运行了很长时间,没有产生期望的输出; -产生到屏幕或文件中的输出太多; -锁住了一个终端或其他会话过程; -由于操作错误,该进程正在使用其它错误的输入、输出文件;
--终止前台进程:CTRL+C; --终止后台进程:kill/kill -9(强制一般不使用,如果终止一个更新文件,用户可能丢失更新的材料或整个文件)
8.进程挂起及恢复:
--查看shell的作业清单:jobs
--挂起:CTRL+Z
--恢复:fg(将挂起命令放到前台执行); bg(将挂起的命令放到后台执行);

二、任务计划(调度启动进程/进程自动化)

--------------------------------------------------------------------------------------------------------------------------------

1.概念:在指定的时间出发某个作业,管理员可以使用自动化的任务执行定期备份、监控系统和运行定制脚本等 Linux中通常使用cron和at命令实现
—cron:

a.–/etc/crontab文件实现自动化,文件详情/每行:

-minute:分钟(0-59之间任何整数);
-hour: 小时(0-23之间任何整数);
-day : 天数(0-31之间任何整数);
-month: 月份(1-12之间任何整数/jan feb mar apr may jun jul aug sep oct nov dec);
-dayofweek:星期(0-7之间任何整数(0/7都代表星期日)/sun mon tue wed thu fri sat);
-username:执行用户;
-command :执行命令/脚本;
【以上值中:
”:代表所有有效值; “ -”:一个整数的范围; “ ,”:指定间隔; “ /”:指定间隔频率(/3,月份中表示/3个月执行一次);详情如下:

30 21 * * * root /kevin/cleanup.sh

//每天的21:30运行/kevin目录下的cleanup.sh

45 4 1,10,22 * * root /kevin/cleanup.sh

//每月1、10、22号的4:45运行/kevin目录下的cleanup.sh

10 1 * * 6,0 root /kevin/cleanup.sh

//每周六、日的1:10运行/kevin目录下的cleanup,sh

0,30 18-23 * * * root /kevin/cleanup.sh

//每天18:00-23:00之间每隔30分钟运行/kevin目录下的cleanup.sh

0 23 * * 6 root /kevin/cleanup.sh

//每周六的23:00运行/kevin目录下的cleanup,sh



–Linux使用run-parts脚本来执行/etc/cron.hourly(/小时执行) etc/cron.daily(/每日执行) etc/cron.weekly(/每周执行) etc/cron.monthly(/ 每月执行);
–如果需要根据调度来执行而不是/小时/日/月执行,它可以被添加到/etc/cron.d目录中(该目录和/etc/crontab中使用一样的语法);


b.–crontab命令实现自动化:

-命令:crontab -u [用户名] [-ler]【-l:列出crontab中内容; -e:编辑crontab文件; -r:删除crontab文件】『向cron进程提 交一个crontab文件前,需要设置环境变量EDITOR --编辑用户宿主目录下的.bash_profil e文件添加:EDITOR=vi;export EDITOR 创建完会建立一个副本/var/spool/cron/<用户名 >』

-控制cron使用:/etc/cron.allow 和/etc/cron.deny两文件限制对cron使用;
如果cron.allow文件存在,只有在其中列出的用户才允许使用cron,此时cron.deny文件被忽略

如果cron.allow文件不存在,所有在cron.deny列出的用户都被禁止使用cron

-查看crond服务是否运行: service crond status

-启动/停止服务:service crond start/stop
c.–at实现自动化:( 指定时间调度一次性的任务(cron:指定时间调度重复任务) )

-和控制cron一样,root用户可以通过/etc目录下at.allow和at.deny来控制那些用户可使用at命令

-查看at软件包是否安装:rpm -qa at

-查看atd服务是否运行 :service atd status

-命令:at [-lmr] [time] 【-l/atq:列出等待运行的作业; -m:作业完成后给用户发邮件; atrm:清除作业,后提供相应的作业标识(ID)】
『时间参数:

–HH:MM格式:例如04:00代表4:00AM,如果时间过了会在第二天此时执行;
–英文月名 日期 年份格式:例如January 01 2018代表2018年1月1号;
–MMDDYY,MM/DD/YY或MM.DD.YY格式:例如010118代表2018年1月1号;
–now +时间 minutes/hours/days/weeks格式,例如now +5 days代表5天后执行』

【输入at命令后,在at>提示后输入语句按[回车键]输完所有的命令后按[CTRL+D]】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

風月长情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值