linux进程和计划任务,linux进程和计划任务

内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等

进程管理:

系统优先级:数字越小,优先级越高

实时优先级: 99-0,值最大优先级最高

nice值:-20 到19 ,对应系统优先级100-139或99

Linux 内核:抢占式多任务

进程类型:

守护进程: daemon, 在系统引导过程中启动的进程,和终端无关进程

前台进程:跟终端相关,通过终端启动的进程

注意:两者可相互转化

进程状态:

运行态:running

就绪态:ready

睡眠态:

可中断:interruptable

不可中断:uninterruptable

停止态:stopped, 暂停于内存,但不会被调度,除非手动启动

僵死态:zombie,结束进程,父进程结束前,子进程不关闭

进程和线程的区别:

一个进程可以有多个线程,一个CPU只能运行一个进程,

线程可以共享资源,包括网络资源,内存资源

进程管理工具:

pstree  -p  :  查看进程树    -p   查看pid

ps            :  查看终端信息

默认显示当前终端中的进程

• a 选项包括所有终端中的进程

• x 选项包括不链接终端的进程

• u 选项显示进程所有者的信息

• f 选项显示进程的父进程

• o 属性…  选项显示定制的信息

pid 、comm 、%cpu 、%mem 、state 、tty 、euser 、ruser

pidof  command      : 查看运行命令的pid

stat:进程状态

R            S         D           T          Z          L       N     <

可中断休眠   停止             僵尸进程    多线程         高优先级

常用组合:-ef

-e:  显示所有进程

-f:  显示完整格式程序信息

常用组合:-eFH

-F:  显示更完整格式的进程信息

-H:  以进程层级格式显示进程相关信息

nice命令:

nice 10 pid

renice -n 10 pid      调整进程优先级

uptime :  显示当前时间,和系统平均负载

top命令:

-d #   :指定刷新时间间隔,默认为3秒

-b     :以批次方式 (就是一次显示一个页面)

-n #   :显示多少批次(比如显示3次页面就退出的意思)

排序:

P :以占据的CPU 百分比,%CPU

M :占据内存百分比,%MEM

T :累积占据CPU 时长,TIME+

首部信息显示:

uptime 信息:      l 命令

tasks 及cpu 信息: t 命令

cpu 分别显示:     1 ( 数字)

memory 信息:      m 命令

退出命令:         q

修改刷新时间间隔: s

终止指定进程:     k

保存文件:         W

top栏位信息简介;进程查看对比就方便记住了

htop 命令:需从Fedora-EPEL 源安装 yum -y install htop

vmstat: 虚拟内存信息

vmstat 2 5   :  每2秒显示一次,显示五次结束

iostat: 统计CPU 和设备IO 信息

iostat 2  5 :

系统监测工具:

glance:

服务器模式:

glances -s -B IPADDR

IPADDR: 指明监听的本机哪个地址

客户端模式:

glances -c IPADDR

IPADDR: 要连入的服务器端地址

dstat:, 代替vmstat,iostat;功能很强大

-c:  显示cpu 相关信息

-d:  显示disk 相关信息

-g :显示page 相关统计数据

-m:  显示memory 相关统计数据

-n:  显示network 相关统计数据

-p:  显示process 相关统计数据

-r:  显示io 请求相关的统计数据

-s:  显示swapped相关的统计数据

kill 命令:

向进程发送控制信号;以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头(可省略)不区分大小写

显示当前系统可用信号: kill –l,trap -l

常用信号:man 7 signal

1) SIGHUP:  无须关闭进程而让其重读配置文件

2) SIGINT:  中止正在运行的进程;相当于Ctrl+c

3) SIGQUIT: 相当于ctrl+\

9) SIGKILL:  强制杀死正在运行的进程

15) SIGTERM :终止正在运行的进程

18) SIGCONT :继续运行

19) SIGSTOP :后台休眠

指定信号的方法:

(1)  信号的数字标识:1, 2, 9

(2)  信号的简写名称:HUP

例如:kill -9 PID        kill -1  pid

作业管理:

Linux 的作业控制

前台作业:通过终端启动,且启动后一直占据终端;

后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)

  如何让作业运行于后台?

(1)  运行中的作业: Ctrl+z     (此操作会使进程休眠)

(2)  尚未启动的作业:# COMMAND &  (此操作后台运行)

  后台作业虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭

后台作业。如果希望送往后台后,剥离与终端的关系

# nohup COMMAND & #screen;COMMAND

  查看所有作业:

# jobs

  作业控制:  后台作业都会有一个编号,直接指定编号也行

# fg [[%]JOB_NUM] :把指定的后台作业调回前台

# bg [[%]JOB_NUM] :让送往后台的作业在后台继续运行

# kill [%JOB_NUM] :终止指定的作业

并行运行:

方法1      (写三个脚本,放到一个脚本运行,每个脚本后用&)

vi all.sh

f1.sh&

f2.sh&

f3.sh&

    方法2

(f1.sh&);(f2.sh&);(f3.sh&)

    方法3

{ f1.sh& f2.sh& f3.sh& }

任务计划:

Linux 任务计划、周期性任务执行

•  未来的某时间点执行一次任务

at

batch :系统 自行选择空闲时间去执行此处指定的任务

•  周期性运行某任务

cron

at: 依赖软件包,考试时候类似的包都会挖坑,需要手动启动服务,否则做完不生效

rpm -q at    :查询软件包名称

rpm -ql at   : 查询安装包路径

service atd status   :查看当前服务是否启动    start和stop,临时启动

chkconfig  –list atd :查看是否开机启动的

chkconfif –level 5 atd on/off   :在模式5设置开机启动或者关闭 –help 查看帮助

centos7 :

systemctl   is-enabled atd  :查看atd下次启动是否自动启动

systenctl   enabled   atd   :  下次启动自动启动

systenctl   disable   atd   :  下次启动不自动启动

at time   :命令格式,后面跟时间,ctrl+d  结束

at -l  :  查看计划任务

at -d  #: 删除指定的计划任务编号

at -c #:  查看任务计划内容, 目录在 /var/spool/at/

at -f *.text  time:   把多个任务计划写到文件调用

at -m  : 当任务 被完成之后,将给用户发送邮件,即使没有标准输出

计划任务结果以邮件形式发送,建议使用重定向解决 >/dev/null

同时间的计划任务支持并行运行。

at.deny 和at.allow       /et/at.deny     默认/etc/at.allow 不存在

at.deny 黑名单,要生效的前提,at.allow不存在,白名单的优先级最高

at.allow 白名单,只有白名单的用户才可能执行at,默认不存在,如果存在,at.deny失效,优先级高

如果都不存在,只有root可以执行at

如果 两个文件都不存在有 ,只有 root 行 可以执行 at  命令

周期性任务计划:

cron :  和at一样,需要先查询清楚路径和是否启动服务,或者开机启动

rpm -qa cron* :  可以用通配符搜索;

确保crond 守护处于运行状态:

CentOS 7:

systemctl status crond

CentOS 6:

service crond status

  计划周期性执行的任务提交给crond ,到指定时间会自动运行

系统cron 任务:系统维护作业

/etc/crontab

用户cron 任务:

crontab 命令

         日志:/var/log/cron

周期性计划对符号敏感,比如%,所以建议调用脚本,否则需要加单引号;

vim /etc/crontab

时间表示法:

• (1)  特定值

给定时间点有效取值范围内的值

• (2)  *

给定时间点上有效取值范围内的所有值

表示 “每…”

• (3)  离散取值

#,#,#

• (4)  连续取值

#-#

• (5)  在指定时间范围上, 定义步长

/#: #即为步长

  示例:每3小时echo 命令

0 */3 * * * centos /bin/echo “howdy!”

一般来说,几月几号和周几一般不同时出现,如果都出现,表示或者的关系,都会执行

@reboot  Run once after reboot      :表示下次开机运行

 @yearly 0 0 1 1 *

 @annually 0 0 1 1 *

 @monthly 0 0 1 * *

 @weekly 0 0 * * 0

 @daily 0 0 * * *

 @hourly 0 * * * *

系统的计划任务:

/etc/crontab

/etc/cron.d/ 配置文件

/etc/cron.hourly/  脚本

/etc/cron.daily/   脚本

/etc/cron.weekly/  脚本

/etc/cron.monthly/ 脚本

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/71581

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React开发(216):ant dedign 弹窗销毁后再打开,原来的值仍存在,如何销毁弹窗内容?

<Modaltitle"新增对账流水"visible{visible}onOk{() > {formRef.current.handleSubmit();}}onCancel{onClose}okText"确认"cancelText"取消"width{800}destroyOnClose // 关闭时销毁子元素>加destroyOnClose 属性&#xff0c;关闭时销毁…

新浪微博

转载于:https://blog.51cto.com/js5323/452656

嵌入式C开发中用到的位域结构体

一、位域描述 存放一个开关量或者其他开关状态时&#xff0c;用一位二进位即可。为了减少嵌入式内存资源的开销&#xff0c;可以使用位域进行定义&#xff0c;位域是C语言支持的一种数据结构&#xff0c;称为“位域”或“位段”。“位域”是把一个字节中的每个位划分为几个不同…

linux可配置哪些服务,linux操作系统下服务配置

linux操作系统下服务配置 (5页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;17.90 积分实用标准文案数学与信息技术学院实 验 报 告实验课程名称&#xff1a; 信息系统与系统集成 实验项目名称&…

你会给别人提反馈吗?

几个例子 你会提反馈吗&#xff1f;不急回答&#xff0c;我们先来看几个例子。 例子一: 项目经理&#xff1a;“xxx&#xff0c;我本来对你的期望特别高&#xff0c;但是你让我有些失望啊。” xxx&#xff1a;“啊&#xff0c;不知道哪些地方做的不好呢&#xff1f;” 项目经理…

linux代码工具tag,gcov-dump原理分析_Linux平台代码覆盖率测试

第 16 页 LINES tag: tag_lines() 函数3.4 LINES tag: tag_lines() 函数static voidtag_lines ( const char * filename ATTRIBUTE_UNUSED ,unsigned tag ATTRIBUTE_UNUSED , unsigned length ATTRIBUTE_UNUSED ){if ( flag_dump_contents ){unsigned blockno gcov_read_unsig…

关于 CFileDialog 对话框多选功能的一个问题

From: http://www.vckbase.com/document/viewdoc/?id1544 最近有位读者来信指出&#xff1a;《在线杂志》第26期中有一篇文章&#xff1a;“再谈 CFileDialog 对话框的定制”&#xff0c;其例子程序有一个bug。如果多选时选中的文件过多&#xff0c;那么后面选中的文件将无效…

React开发(217):vs code出现‘npm’

npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置 行:1 字符: 1 解决 以管理员身份打开vs code

java类内存中只能运行一个实例对象

方法&#xff1a;构造方法私有化(private) public class TestClass { private static TestClass obj new TestClass (); //私有构造方法   private TestClass () {        }   public static TestClass getInstance() {     return obj ;   } } 使用&#xff…

linux winrar 安装目录,WinRAR 5.61发布,提供Linux版本下载,附安装方法

压缩及解压缩工具WinRAR 5.61已经发布下载&#xff0c;提供WinRAR (32/64 bit) 5.61、RAR 5.61 for Linux、RAR for Android、RAR 5.61 for Mac OS X、RAR 5.61 for FreeBSD安装包下载。WinRAR 5.61是一款流行的压缩工具&#xff0c;它支持鼠标播放及外壳扩展功能&#xff0c;支…

JAVASCRIPT 提示信息 主要是使用了获取控件的位置进行定位

JAVASCRIPT 提示信息 主要是使用了获取控件的位置进行定位 <% Page Language"C#" AutoEventWireup"true" CodeBehind"DCS_SubmitNewRequest.aspx.cs" Inherits"BAF.DCS.Web.DCS_SubmitNewRequest" %> <!DOCTYPE html PUBL…

luceda ipkiss教程 53:在版图上加中文

要在版图上加中文&#xff0c;如&#xff1a; 可以通过如下方法实现&#xff1a; 首先&#xff0c;可以在ppt中加入文本框&#xff0c;在文本框中输入想要加到版图上的中文内容&#xff0c;如&#xff0c;复旦大学&#xff0c;并将文本框存为windows位图。 其次&#xff0c;通…

同时打开多个VC工程

操作流程如下&#xff1a; 在系统资源管理器->文件夹选项->选择dsw文件-> 高级->open with->编辑->把“使用DDE”前面的勾取消 点击确定&#xff0c;OK。已经设置OK.

QtCreator 如何将开发的程序打包成exe

一、前言 在QtCreator中开发好应用程序后&#xff0c;想发布成exe可执行程序&#xff0c;在其他电脑可以运行&#xff0c;按照以下步骤即可。QtCreator在安装的时候会自带部署器windeployqt&#xff0c;利用windeployqt抽出相应的DLL即可。 二、具体步骤 1&#xff1a;将开发…

MS SQLService中的*= 及 =*

今天看到数据库中的存储过程中&#xff0c;有* &#xff0c;于是百度了一下&#xff0c;原来这个SQL2000以前的左连接&#xff0c;以后的版本中开启兼容也是可以用的。 于是拿出来在系统中的表中测试了一下果然如此 例&#xff1a; 有用户表D_user及公司代码表d_organization 其…

Oracle 外部表

-- -- Oracle 外部表 -- 外部表只能在Oracle 9i 之后来使用。简单地说&#xff0c;外部表&#xff0c;是指不存在于数据库中的表。通过向Oracle提供描述外部表的元数据&#xff0c;我们 可以把一个操作系统文件当成一个只读的数据库表&#xff0c;就像这些数据存储在一个普通数…

LED32*32点阵书写屏设计方案

一、引言 目前LED显示屏都是采用字模软件生成好的字节序列然后进行显示&#xff0c;而LED点阵书写屏是一种无需通过字模软件编码即可给LED显示屏提供显示信息的一种新的交互方案&#xff0c;通过光敏二极管或光敏三极管在屏幕上捕获LED点阵的驱动信号&#xff0c;从而反馈至控制…