Linux计划任务和进程

一、进程管理
1.进程简介

一个程序对应多个进程;一个进程对应一个程序。

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

查看进程状态

w 查看个别用户的进程 eg: w userName

list-info
JCPU:
PCPU:
WAHT:
from:
IDLE: 用户空闲时间
load average:

ps -aux

-a: 显示所有用户的进程
-u:显示用户名和启动时间
-x:显示没有控制终端的内容

ps -el

-e:显示所有进程,包括没有控制终端的进程
-l:以长格式显示进程

list-info
PID:进程号
PPID:父进程的进程号
TTY:进程启动的终端
STAT:进程当前的状态
S :休眠
D :不可中断的休眠
R :运行
Z :僵死
T :停止
NI:进程优先级
TIME:进程启动总时间
COMMAND:进程名称

查看进程排序
ps -aux –sort pid[PID/TIME/UID/PPID/TTY/STAT]

查看进程筛选
ps -aux|grep processName

杀死或重新启动进程

为什么要杀死进程:
占资源;进程死了;执行时间长,没效果。。。

命令:
kill pid
kill -9 pid

kill -s 信号 pid
kill -l 列出所有的信号

killall 进程名(CMD) 杀死所有相关的进程

改变进程的运行优先级(-20, 19)

nice -n command & 指定程序运行优先级
renice n pid 改变一个正在运行的程序的优先级

实时查看进程状态
top 默认5秒刷新一次
top -d 1
top -c 显示整个命令行,不仅是命令名
top -d 1 -c 设置1秒刷新一次
top -q 立刻更新所显示的信息

进程的挂起和恢复

正在运行,挂起可以 ctrl + z

如果开启时,可以在后边使用&
command &
command
ctrl + c ctrl + z

jobs

fg4

bg4

二、任务计划
3.一次性安排进程任务

at 安排作业,某个程序在某一时刻执行一次

第一步:开启atd service atd start

第二步:添加一个任务

格式:at time

eg: 在10:20的时候,执行一个命令,插入一行文字到某个文本里边
at 10:20
>/bin/cp -r /root/* /home/bruce
>/bin/echo “2222222222” > /home/bruce/1.txt

注意:一定要使用命令的全路径

ctrl + d 完成

time说明:

绝对计时方法
midnight noon teatime
HH:MM [today]
HH:MM tomorrow
HH:mm 星期
HH:MM mm/dd/yyyy

相对计时方法
now + n minutes
now + n hours
now + n day

第三步:查看任务

at -l 查看 或者 atq查看

第四步:删除一个任务

at -d 任务号 或者 atrm 任务号

第五步:使用命令文件的方式

at -f 文件 时间点
at < 文件 时间点

第六步:at的执行结果和配置文件

/etc/at.allow
如果这个文件存在,那么只有在列在测文件中的用户才能使用at命令;
如果这个文件不存在,则查/etc/at.deny;

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

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

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

附件:
batch 安排作业,某个程序在系统负载不重时执行一次

4.周期性安排进程任务

crond

①service crond start 开启服务
crond 进程搜索crontab文件并载入内存

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

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

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

②crontab -e 创建编辑crontab文件
eg: */1 * * * * /bin/pc

任务包括两个内容:时间 + 操作
a.时间
minute : 一小时中的哪一分钟[ 0 – 59 ]
hour : 一天中的哪一个小时[ 0 – 23 ]
day-of-month: 一个月中的哪一天 [ 1 – 31 ]
month-of-year: 一年中的那一个月 [ 1 – 12 ]
day-of-week: 一周中的哪一天 [ 0 – 6 ]

b.操作
commands: 执行的命令, 命令要是用绝对路径

这些项不能为空,必须填入

如果用户不需要指定其中的几项, 那么可以使用通配符号“*”表示任何时间

每个时间字段都可以指定多个值,用”,”间隔
eg: 每天的1点和3点 * 1,3 * * * commands

每个时间字段都可以指定范围,用”-“间隔
eg: 每天的8点到10点 * 8-10 * * * commands

每个时间字段都可以使用间隔,用/表示
eg: 每隔一分钟 */1 * * * * commands

用户必须具有运行所对应命令或程序的权限

③查看 crontab -l

④删除 crontab -r

⑤crontab的配置文件,限制哪些用户可以使用crontab命令,规则与at一致

/etc/cron.allow

/etc/cron.deny

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86708

(0)
1589344251815893442518
上一篇 2017-09-09 18:22
下一篇 2017-09-09 20:03

相关推荐

  • 大话命令之–ss

    大话命令之—ss ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。 优势: (1)显示更多更详细的有关TCP和连接状态的信息,(2)比netstat更快速更高效。 1 格式 格式:ss    [option]… &nbs…

    Linux干货 2017-05-15
  • Linux基础知识——SHELL之循环

    1、写一个脚本,判断当前系统用户shell是否都为可登陆shell(即非/sbin/nologin),分别计算两类用户的个数(通过比较字符串实现) #!/bin/bash #       check the user could login&nbsp…

    Linux干货 2016-12-13
  • shell脚本之函数相关

       本节主要是作业和select 与case的相关 一、作业 1、斐波那契数列又称黄金分割数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-…

    Linux干货 2016-08-22
  • 磁盘管理:raid和lvm练习

    本文通过以下习题,巩固所学raid和lvm知识: 20160829         1、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录       &nbsp…

    Linux干货 2016-09-05
  • ​HA专题: Corosync+Pacemaker+drbd实现MySQL高可用

    HA专题: Corosync+Pacemaker+drbd实现MySQL高可用 前言 实验拓扑 实验环境 实验步骤 安装前准备工作 配置DRBD 配置MySQL 配置Corosync+Pacemaker 测试 我遇到的问题 总结 前言 上篇文章我们介绍了drbd的相关原理、编译安装、简单的实现. drbd虽然可以保证数据的可靠性但是我们上次的实现还…

    Linux干货 2016-04-13
  • 搭建基于http的本地yum源服务器

    概述 yum相较于rpm,能够更好地解决安装软件时的依赖包问题,使用yum安装更简单更方便。搭建本地YUM源服务器,可以避免升级安装软件时占用公网带宽;有了本地YUM源服务器,可以解决无法连接Internet的其他YUM客户端的软件升级和安装。 本文主要介绍了以下内容: 通过编译Apache源码包安装httpd服务; 搭建基于HTTP的yum源服务器; 将I…

    Linux干货 2016-08-24