Linux基础知识--进程管理与计划任务
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基础知识--进程管理与计划任务相关推荐
- linux进程与服务管理,linux基础之进程管理与服务
进程的状态 进程被称作任务,有4种状态 运行态 运行或准备运行 等待态 可中断(TASK_ITERRUPTIBLE) 不可中断(TASK_UNITERRUPTIBLE) 停止态(TASK_STOPPE ...
- Linux基础-5进程管理工具
5. 进程管理工具 使用进程管理工具,我们可以查询程序当前的运行状态,或终止一个进程: 任何进程都与文件关联:我们会用到lsof工具(list opened files),作用是列举系统中已经被打开的 ...
- linux基础知识——进程相关概念
1 什么是程序? \qquad程序,是经过编译完成的二进制文件,程序存储在磁盘上,并不占用系统资源. 2 什么是进程? \qquad进程,是一个抽象概念,进程是程序动态的描述,它在内存中执行,占用系统 ...
- linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp
linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...
- linux基础知识之磁盘管理及文件系统
linux基础知识之磁盘管理及文件系统管理 磁盘管理及文件系统管理 一.磁盘硬件介绍 1. 接口类型 2. 硬盘种类 3. 磁盘命名 二.磁盘分区及文件系统介绍 1. 分区 1.1 什么是分区 1.2 ...
- linux基础知识复习
@(tigerfive)[linux,基础知识,复习笔记] linux基础复习(一) 今天只整理框架,具体内容之后详细整理吧 文件管理 文件基本操作 创建文件和目录 拷贝文件和目录 剪切文件和目录 删 ...
- 大数据成长之路:谈谈那些必须学习的Linux基础知识
作者| Roy瑞士 责编| Carol 封图| CSDN│下载于视觉中国 这里主要介绍学习大数据过程中用到的Linux基础知识,现在主攻的方向是大数据开发,欢迎大家共同交流. 环境 推荐安装VMwar ...
- LINUX基础知识笔记全
LINUX基础知识整理 1.Linux 基本知识 2.Linux 文件和目录管理 vim scp sftp 压缩和归档 文件访问权限 脚本 3.Linux 用户和群组管理 sudo ssh opens ...
- linux基础知识ppt下载,《Linux基础知识》PPT课件.ppt
<<Linux基础知识>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<Linux基础知识>PPT课件.ppt(26页珍藏版)>请在装配图网上搜 ...
最新文章
- 递归的妙用—遍历子控件
- MyEclipse集成SVN
- 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem D. Grumpy Cat 交互题
- 数据中心服务器网络接入技术 — VEB、VEPA、VN-Tag
- 分析vue-cli@2.9.3 搭建的webpack项目工程
- CloudFoundry命令行和Kubernetes命令行的Restful API消费方式
- 【原】ASP.Net 项目实做 搭建开发环境
- ajax里怎么添加跳转地址,Ajax中window.location.href无法跳转的解决办法
- 程序媛计划——python数据库
- kubernetes集群使用GPU及安装kubeflow1.0.RC操作步骤
- 两个音轨合并_两个双音轨mkv视频合并保持原双音轨不变 MKV怎么合并视频,合并之后仍保留MKV的双音轨...
- 私人笔记 -- 将图片插入到指定的单元格位置,并设置图片的宽度和高度
- SpringBoot整合kafka之kafka分区实战
- Smalltalk 语言的地位为何一落千丈?
- oracle 制定定时任务
- 学习《SQL Server 2005管理员大全》时遇到的困难
- 【证明】【一题多解】布尔不等式(union bound)的证明
- SGI版本空间配置器
- 支付行业PCI DSS 3.0学习概述
- 跳一跳小游戏刷分解读
热门文章
- 算法总结之编码(C++)
- c++ 模板教程(c语言中文网) 自己运行实例
- c++ primer文本查询程序 自编加强版(c++primer5th 练习12.32-33)
- [C++ STL] 各容器简单介绍
- 文件的文本打开方式和二进制打开方式的区别
- C++ 类的隐式转换
- CentOS 7.6 下安装 MySQL8.0.13
- php 降低图像大小,在PHP中调整图像大小
- python干啥用_用python内置函数能干些什么?
- XSD(Schema)教程