Linux启动流程:

  

  开机自检BIOS是检测硬件以及各个设备是否准备好

  MBR引导是看系统放在哪个位置,进行加载;引导分区,里面有多个系统,看需要启动哪个系统

  GRUP菜单,进行一些选项,比如说看启动哪个系统

  INIT进程:

    由Linux内核加载运行/sbin/init程序

    是系统的第一个进程,是所有进程的祖宗,PID(进程标记)号永远为1

    配置文件/etc/inittab

  Linux系统运行级别(runlevels)

    有7个级别,

    0关机

    1单用户模式

    2字符界面的多用户界面(不支持网络)

    3字符界面的完整多用户界面

    4未分配使用

    5图形界面的多用户界面

    6重新启动

  

    runlevel命令可以查看系统的运行级别,结果为两个数字,前者为切换前的系统级别,后者为当前级别

  查看系统服务的启动状态:

  格式:chkconfig --list

     chkconfig --list 服务名称  可以查看每个级别下的服务启动状态

  服务脚本位置:/etc/init.d   /etc/rc.d/init.d

  

  设置系统服务的启动状态

  格式:chkconfig --level 级别列表 服务名 on|off

      可以设置在哪些级别中服务的启动状态

进程管理:

  程序和进程:程序是保存在硬盘、光盘等介质中的可执行代码和数据,是静态保存的代码;进程是在CPU及内存中运行的代码,是动态执行的,每个进程都可创建一个或多个子进程(父、子进程)

  ps统计静态进程的信息:

  ps aux

  ps -elf

  a显示当前终端下的所有进程信息

  u使用以用户为主的格式输出进程信息

  x显示当前用户在所有终端下的进程信息

  -e显示系统内的所有进程信息

  -l使用长格式显示进程信息

  -f使用完整格式显示进程信息

  

  top查看动态的进程排名信息,q退出查看

  

  pgrep根据特定的条件查询进程PID信息

  -l列出进程名称

  -U根据进程所属的用户名进行查找

  -t根据进程所在终端进行查找

  pgrep [选项]... 进程名

[root@localhost ~]# pgrep "init"
1
[root@localhost ~]# pgrep -l "init"
1 init
[root@localhost ~]# pgrep -l "log"
6771 syslogd
6774 klogd
[root@localhost ~]# pgrep -l -U root "log"
6771 syslogd
6774 klogd

  init的进程PID为1,进程名是init,包含log进程的进程PID有6771、6774

  

  pstree以树形结构显示进程之间的信息

  pstree -aup

    -u列出进程对应的用户名

    -a列出进程对应的完整命令

    -p列出进程的ID号

  

  进程的不同启动方式

    手动启动

      前台启动:用户输入命令,直接执行程序

      后台启动:在命令行尾加上“&”符号

    调度启动:

      使用at命令,设置在某个时间执行一次任务

      使用crontab命令,设置固定周期重复执行预先计划好的任务

  

  进程前后台调度

    Ctrl+Z将当前进程挂起,即调入后台

    jobs命令,查看处于后台的任务列表

    fg命令,将处于后台的进程恢复至前台,需指定任务序号

    Ctrl+C终止正在执行的命令 

    kill用于终止指定PID的进程

    killall用于终止指定名称的所有进程,-9选项用于强制终止

    pkill根据特定条件终止相应进程

      -U根据进程所属的用户名终止相应进程

      -t根据进程所在终端终止相应进程

[root@localhost ~]# ping 192.168.xx.1
PING 192.168.xx.1 (192.168.xx.1) 56(84) bytes of data.[1]+  Stopped                 ping 192.168.xx.1
[root@localhost ~]# jobs
[1]+  Stopped                 ping 192.168.xx.1
[root@localhost ~]# fg 1
ping 192.168.xx.1--- 192.168.xx.1 ping statistics ---
7 packets transmitted, 0 received, 100% packet loss, time 15995ms[root@localhost ~]# jobs

    Linux中ping物理机的IP,进行会一直执行,Ctrl+Z将当前进程调入到后台,jobs查看后台进程,任务序号为1,fg 1将后台进程调入到前台,Ctrl+C终止当前进程

    

计划任务管理

  一次性任务,使用at命令,指定日期、时间点执行一些预定的命令操作

    服务脚本名称:/etc/init.d/atd,在执行这个命令之前首先要保证atd服务启动

    格式:at [HH:MM] [yyyy-mm-dd]

    启动服务:service atd start,或者/etc/init.d/atd start

    查看服务启动状态:service atd status

    Ctrl+D提交任务

    atq查询当前设置的at任务列表

    atrm删除指定任务编号的at任务

      atrm 编号

[root@localhost ~]# cd /home
[root@localhost home]# ls
audispd.conf  file1.tar.gz  file3         test   test2
file1.tar     file2.tar.gz  file3.tar.gz  test1  test.tar.bz2
[root@localhost home]# date
Sat Feb 16 20:00:36 CST 2019
[root@localhost home]# at 20:02
at> touch file04
at> <EOT>
job 1 at 2019-02-16 20:02
[root@localhost home]# date
Sat Feb 16 20:01:19 CST 2019
[root@localhost home]# date
Sat Feb 16 20:02:34 CST 2019
[root@localhost home]# ls
audispd.conf  file1.tar     file2.tar.gz  file3.tar.gz  test1  test.tar.bz2
file04        file1.tar.gz  file3         test          test2

    在home目录下,开始没有file04,现在想要在当天的20:02时刻创建file04,。因此首先获取当前时间,制定当前时间之后的某个时间点创建file04的任务计划,按Ctrl+D提交计划,时间到了,发现任务执行完毕,file04创建。

  周期性任务crontab,按照预先设置的时间周期重复执行任务

    服务脚本名称:/etc/init.d/crond,设置计划之前保证服务启动

    全局配置文件,位于/etc/crontab

      系统默认的设置位于/etc/cron.*/

      用户定义设置,位于文件/var/spool/cron/用户名

    crontab -e [-u 用户名]  编辑计划任务,不指定用户默认当前用户

    crontab -l [-u 用户名]  查看计划任务,不指定用户默认当前用户

    crontab -r [-u 用户名]  删除计划任务,不指定用户默认当前用户,只能删除当前用户的周期性任务计划

    只有root用户才能为其他用户制定周期性任务计划,其他用户只能管理自己的周期性任务计划

    

    任务配置格式:

      分钟(0-59)  小时(0-23)  日期    月份    星期 (0-7)   命令(要执行的命令或程序脚本)

      时间数值的特殊表示方法:

        *表示该范围内的任意时间

        ,表示间隔多个不连续的时间点

        -表示一个连续的时间范围

        /指定间隔的时间频率

      示例:

        0 17 * *  1-5       每天周一到周五的17点整

        30 8 * * 1,3,5     周一周三周五的8:30执行

        0 9-22/2 * * 7  星期天的9点到22点每隔两小时执行一次

        

     案例:

      每天早上7:50自动开启sshd服务,22点50时关闭

      每隔5天清空一次FTP服务器公共目录/var/ftp/pub

      每周六的7:30时,重新启动httpd服务

       每周一、三、五的17:30时,打包并压缩/etc/httpd目录  

[root@localhost home]# cd /var/spool/cron
[root@localhost cron]# ls
[root@localhost cron]# crontab -e -u root

    进入/var/spool/cron目录,开始编辑计划任务

50 7 * * * /sbin/service sshd start
50 22 * * * /sbin/service sshd stop
0 * */5 * * /bin/rm -rf /var/ftp/pub/*
30 7 * * 6 /sbin/service httpd restart
30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
-- INSERT --

    相应的服务或者指令要写出绝对路径,查看当前用户的任务计划

[root@localhost cron]# crontab -l
50 7 * * * /sbin/service sshd start
50 22 * * * /sbin/service sshd stop
0 * */5 * * /bin/rm -rf /var/ftp/pub/*
30 7 * * 6 /sbin/service httpd restart
30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd

  删除之后,发现没有任何任务计划

[root@localhost cron]# crontab -r
[root@localhost cron]# crontab -l
no crontab for root

  总结:

    INIT进程,系统的第一个进程,PID为1,存放在/etc/inittab

    runlevels,Linux系统的运行级别,0-7,7个级别,4未分配;runlevel命令查看最近一次修改之前的运行级别和当前运行级别

    chkconfig --list

    chkconfig --level 级别列表 服务名 on|off

    ps统计静态进程信息,ps aux

    top查看动态进程排名信息

    pgrep根据条件查询进程信息

    pstree以树形结构显示进程之间的关系,pstree -aup

    Ctrl+Z、jobs、fg 任务序列号、Ctrl+C、kill、killall、killall -9

    at一次性任务,/etc/init.d/atd 、atq、atrm

    crontab周期性任务计划,/etc/init.d/crond、/var/spool/cron/用户名、crontab -e、crontab -l、crontab -r

    

   

  

  

转载于:https://www.cnblogs.com/bigbigtong/p/10381105.html

Linux基础知识--进程管理与计划任务相关推荐

  1. linux进程与服务管理,linux基础之进程管理与服务

    进程的状态 进程被称作任务,有4种状态 运行态 运行或准备运行 等待态 可中断(TASK_ITERRUPTIBLE) 不可中断(TASK_UNITERRUPTIBLE) 停止态(TASK_STOPPE ...

  2. Linux基础-5进程管理工具

    5. 进程管理工具 使用进程管理工具,我们可以查询程序当前的运行状态,或终止一个进程: 任何进程都与文件关联:我们会用到lsof工具(list opened files),作用是列举系统中已经被打开的 ...

  3. linux基础知识——进程相关概念

    1 什么是程序? \qquad程序,是经过编译完成的二进制文件,程序存储在磁盘上,并不占用系统资源. 2 什么是进程? \qquad进程,是一个抽象概念,进程是程序动态的描述,它在内存中执行,占用系统 ...

  4. linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp

    linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...

  5. linux基础知识之磁盘管理及文件系统

    linux基础知识之磁盘管理及文件系统管理 磁盘管理及文件系统管理 一.磁盘硬件介绍 1. 接口类型 2. 硬盘种类 3. 磁盘命名 二.磁盘分区及文件系统介绍 1. 分区 1.1 什么是分区 1.2 ...

  6. linux基础知识复习

    @(tigerfive)[linux,基础知识,复习笔记] linux基础复习(一) 今天只整理框架,具体内容之后详细整理吧 文件管理 文件基本操作 创建文件和目录 拷贝文件和目录 剪切文件和目录 删 ...

  7. 大数据成长之路:谈谈那些必须学习的Linux基础知识

    作者| Roy瑞士 责编| Carol 封图| CSDN│下载于视觉中国 这里主要介绍学习大数据过程中用到的Linux基础知识,现在主攻的方向是大数据开发,欢迎大家共同交流. 环境 推荐安装VMwar ...

  8. LINUX基础知识笔记全

    LINUX基础知识整理 1.Linux 基本知识 2.Linux 文件和目录管理 vim scp sftp 压缩和归档 文件访问权限 脚本 3.Linux 用户和群组管理 sudo ssh opens ...

  9. linux基础知识ppt下载,《Linux基础知识》PPT课件.ppt

    <<Linux基础知识>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<Linux基础知识>PPT课件.ppt(26页珍藏版)>请在装配图网上搜 ...

最新文章

  1. 递归的妙用—遍历子控件
  2. MyEclipse集成SVN
  3. 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem D. Grumpy Cat 交互题
  4. 数据中心服务器网络接入技术 — VEB、VEPA、VN-Tag
  5. 分析vue-cli@2.9.3 搭建的webpack项目工程
  6. CloudFoundry命令行和Kubernetes命令行的Restful API消费方式
  7. 【原】ASP.Net 项目实做 搭建开发环境
  8. ajax里怎么添加跳转地址,Ajax中window.location.href无法跳转的解决办法
  9. 程序媛计划——python数据库
  10. kubernetes集群使用GPU及安装kubeflow1.0.RC操作步骤
  11. 两个音轨合并_两个双音轨mkv视频合并保持原双音轨不变 MKV怎么合并视频,合并之后仍保留MKV的双音轨...
  12. 私人笔记 -- 将图片插入到指定的单元格位置,并设置图片的宽度和高度
  13. SpringBoot整合kafka之kafka分区实战
  14. Smalltalk 语言的地位为何一落千丈?
  15. oracle 制定定时任务
  16. 学习《SQL Server 2005管理员大全》时遇到的困难
  17. 【证明】【一题多解】布尔不等式(union bound)的证明
  18. SGI版本空间配置器
  19. 支付行业PCI DSS 3.0学习概述
  20. 跳一跳小游戏刷分解读

热门文章

  1. 算法总结之编码(C++)
  2. c++ 模板教程(c语言中文网) 自己运行实例
  3. c++ primer文本查询程序 自编加强版(c++primer5th 练习12.32-33)
  4. [C++ STL] 各容器简单介绍
  5. 文件的文本打开方式和二进制打开方式的区别
  6. C++ 类的隐式转换
  7. CentOS 7.6 下安装 MySQL8.0.13
  8. php 降低图像大小,在PHP中调整图像大小
  9. python干啥用_用python内置函数能干些什么?
  10. XSD(Schema)教程