进程和计划任务

当今的电脑使用的cpu一般是多核的,并且多个进程同时运行,一个cpu同时只能运行一个指令,怎么实现多个进程同时运行这就是一门艺术了。实现多种多样的功能需要把进程分类,指定进程的权限,指定一个进程的管控其它进程,以保证其它进程权限的正确运用。

一 进程类型

进程是运行中程序,进程运行时需要先先把程序加载到内存里,然后cpu加载进程中的指令处理数据。进程处理完数据后就会停止,并把数据交付其它进程,交付数据的可能并不是由自己完成。以下以单核cpu为例介绍,多核工作的理念和单核的一样,只是工作的复杂度更大。

linux中的进程有大致分三种:管控进程、调用其它进程的进程和普通进程:

管控进程又分为多种,一种是内核,这时linux最重要的进程,它实现的是进程与硬件的通信,实现进程间通信,管控进程的运行。既然内核要实现这种功能那就需要内核有一个特点:实时在线,只有实时在线才可以保证对其它进程的监控,但是cpu同时只能有进程运行,这时需要内核给进程指定一定的运行时间,时间到了内核就会抢回cpu,然后继续分配时间给某个进程。进程不是一次性运行完成得到结果,而是经过多个时间片段运行后得到结果,这里就需要进程有状态了,运行的时候是运行状态,停止的停止,这个内容在下一节说。内核抢占cpu需要cpu的中断功能,这里不介绍了。另一种管控进程,init(centos6中使用的)或者systemd(centos7中使用的),它不是必须的,但是centos却使用它来监控各个进程,只因为它拥有更强的监控功能。

bash调用其它进程和实现交互功能的进程。bash调用其它进程的过程:复制自己一份到内存中,然后把调用的程序加载到这份内存里,最后进程被调度执行。

二 进程状态

ps查看进程的状态
ps[opthion]
    u            显示进程的所有者
    a            显示与终端有关的进程
    x            显示后台进程
    o            选项pid、 comm、 %cpu、 %mem、 state、 tty、 euser、 ruser
VSZ: Virtualmemory SiZe,虚拟内存集,线性内存
RSS: ReSidentSize, 常驻内存集
STAT:进程状态
    R: running
    S: interruptablesleeping
    D:uninterruptable sleeping
    T: stopped
    Z: zombie
    +: 前台进程
    l: 多线程进程
    N:低优先级进程
    <: 高优先级进程
    s: sessionleader,会话(子进程)发起者
pgrep [options]pattern 查找进程
    -u uid: effective user,生效者
    -U uid: real user,真正发起运行命令者
    -t terminal: 与指定终端相关的进程
    -l: 显示进程名
    -a: 显示完整格式的进程名
    -P pid: 显示指定进程的子进程
实时查看进程信息的命令
top,htop,glance,dstat统计各种系统信息的总和

三 进程管理

kill signal pid

常用信号: man 7 signal
1) SIGHUP: 无须关闭进程而让其重读配置文件
2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
9) SIGKILL: 杀死正在运行的进程
15) SIGTERM:终止正在运行的进程
18) SIGCONT:继续运行
19) SIGSTOP:后台休眠

skill signal name

好kill的用法类似

进程前后台转换

进程分为前台和后台进程,前台正在运行的进程可以通过ctrl+z把进程放到后台,放到后台后进程变为停止状态。

jobs              查看后台的进程
bg#             让后台的进程变为运行(#可以通过jobs查看)
fg#              把后台进程调回前台

四 计划任务

at[option] time
TIME:定义出什么时候进行 at 这项任务的时间
HH:MM [YYYY-mm-dd]
noon, midnight, teatime( 4pm)
tomorrow
now+#{minutes,hours,days, OR weeks}

crond

/etc/crontab文件的格式
# Example of job definition:
# .---------------- minute (0 - 59)
# |   .------------- hour (0 - 23)
# |   |.---------- day of month (1 - 31)
# |   |    | .------- month (1 - 12) ORjan,feb,mar,apr ...
# |   |     | | .---- day of week (0 - 6)(Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat
# |   |     |    |     |
# * * * * * user-name command to beexecuted

普通用户可以使用crontab命令定义自己的计划任务,生成的文件位于/var/spool/cron/username。

总结

这一节重点是crontab的定义和使用,熟练使用top和dstat判断网络的瓶颈解决,然后使用ps定位问题,并使用kill解决问题。

时间: 2024-10-01 02:27:37

进程和计划任务的相关文章

Linux进程与计划任务

Linux进程与计划任务 linux进程及作业管理 进程 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等特权操作模式切换(理想状态):70%CPU时间用户模式+30%CPU时间内核模式进程(Process):是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的存在生命周期的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述

linux系统-进程管理-计划任务

linux系统-进程管理-计划任务 一 计划任务命令 1 at 某一时刻执行任务 2 batch 在系统负载不重的时候执行 3 cron 周期性执行 二 at命令及使用 1 at [-f文件名]时间 2 at [-d删除任务] 3 at [-l查看任务] 4 绝对计时法:hh:mm MM/DD/YY at 17:30 4/18/15 5 交互方式:at 9:00 6 使用命令文件的方式:生成文件at.script 使用at命令 at -f at.srcipt 9:00 4/18/15 or at

Linux入门-进程、计划任务

w load average: 0.12, 0.09, 0.02 1,5,15分钟的负载情况,0.8以下为正常 JCPU 对应的用户执行命令所占用的cpu时间 PCPU  执行当前命令占用的cpu时间 WHAT 对应的用户正在执行的命令 IDLE 对应的用户闲置的时间 ps 参数较多,可以先使用 ps --help查看参数. ps -aux,ps -le  所有用户进程的详细信息 TIME  进程启动依赖占用cpu的总时间 %CPU  占用cpu总时间的比分比 %MEM 占用总内存的比分比 实际

Linux系统管理10——进程和计划任务管理

Linux系统管理10——进程和计划任务管理 一.程序和进程的关系 1.程序 ·保存在硬盘.光盘等介质中的可执行代码和数据 ·静态保存的代码 2.进程 ·在CPU及内存中运行的程序代码 ·动态执行的代码 ·父.子进程:每一个进程可以创建一个或多个进程 二.静态查看进程统计信息 ps命令 1.ps aux 命令 (1)作用:以简单列表的形式显示出进程信息 (2)选项释义: a:显示当前终端下的所有进程信息,包括其他用户的进程 u:使用以用户为主的格式输出进程信息 x:显示当前用户在所有终端下的进程

实验:管理进程及计划任务

实验:管理进程及计划任务 实验环境 为了更好地了解和控制Linux服务器的有序运行,需要管理员熟悉进程管理和计划任务 设置的相关操作,以完成各种运行维护任务. 需求描述 管理系统中的进程. 使用kill命令终止postfix服务的运行. 查找系统中CPU占用率超过80%的进程,并强行终止该进程. 设置计划运行的系统管理任务. 每周一的早上7:50自动清空FTP服务器公共目录"/var/ftp/pub"中的数据. 每天晚上的10:30自动执行任务,完成以下操作:显示当前的系统时间并查看

linux中进程和计划任务的管理

前言: 在linux中,为了更好的了解和使服务器有序运行,管理员需要对进程和计划任务做相应的操作,以便能够更好的完成维护任务. 这里我们做一些简单的练习. 一.管理系统中的进程. (1)启动系统中的portmap服务,然后使用kill命令终止它的运行. Kill  进程的PID号 (2)查找系统中CPU占用率超过80%的进程,并强行终止该进程. 系统中一般是没有CPU超过80%的进程,可以从http://www.cpuburnin.com/downloads/cpuburn-in.tar.gz网

linux中的进程于计划任务管理

进程和计划任务管理 程序和进程的关系程序:保存在硬盘.光盘等介质中的可执行代码和数据:静态保存的代码进程:在 CPU 及内存中运行的程序代码:动态执行的代码:父.子进程:每个进程可以创建一个或多个进程基本命令1):ps命令(processes statistc):查看静态的进程统计信息格式: ps aux :ps –elf2):top命令:查看动态的进程排名信息3):pgrep命令:根据特定条件查询进程 PID 信息4):pstree命令:以树形结构列出进程信息格式:pstree –aup :p

进程和计划任务管理(纯理论,多学多看多思考)

小伙伴们一定特别期待进程和计划任务管理知识的汲取,本着为IT产业服务的原则,小编这就带领大家来收割一波. 一.查看进程 二.控制进程 三.at 一次性任务设置 四.crontab 周期性任务设置 一.查看进程 1.程序和进程的关系 保存在硬盘.光盘等介质中的可执行代码和数据 静态保存的代码 2.进程 在CPU及内存中运行的程序代码 动态执行的代码 父.子进程:每个进程可以创建一个或多个进程(一个进程中包含多个线程)具体关系如下(红框中黑色竖条状即为线程): 3.ps命令-查看静态的进程统计信息

进程和计划任务管理详解(现场实际演练、可跟做)

听说很多的小伙伴一直想要了解如何玩转进程和计划任务管理,小编这就来给大家演示一下. 一.进程查看就地演练 1.查看系统当前root用户的静态进程(方法1)其中USER指当前用户:PID 为进程号(PID为1的是init): %CPU.%MEN指cpu的占用率.内存占用率:VSZ.RSS为虚拟内存.物理内存占用:TTY : 终端(?为未知.大多本地加载为?):STAT : 当前进程状态(S可中断休眠进程.D不可中断休眠进程.s父进程.<代表优先级高.R运行进程.l代表多线性.N优先级低.Z僵尸进程

Linux系统中查看进程和计划任务管理

? 各位小伙伴们大家好,本次给大家带来的是Linux操作系统中的进程和计划任务的管理,首先大家都知道程序是保存在外部存储介质(如硬盘.光盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序,在Linux系统中,每个程序启动后可以创建一个或多个进程.例如:提供Web服务的httpd程序当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务.那么接下来我将会从以下几点来告诉大家在Linux的CentOS 7系统中是如何查看进程信息和控制进