第一节:进程管理
一、进程的概念
程序: 静态 (数据结构+算法)
进程: 程序的运行状态,动态的(一个程序可能有多个进程)
线程: 进程中执行任务最小单元
进程在运行过程中可能会产生新的进程,进程之间产生父子关系。产生进程的进程称为父进程;被产生的进程称为子进程。
二、进程生命周期
就绪状态: 除了cpu之外其他资源已具备
运行状态: 获取到cpu的时间片
阻塞状态: io阻塞操作
三、进程管理命令
1、查看进程
ps:查看进程运行状态(cpu,资源,pid,当前状态等)(process)
ps -aux:查看所有用户的所有进程
pstree: 查看进程树(能够查看进程继承关系 -p:能够查看pid)
top: 查看进程状态(定期更新状态)
jps: 查看jvm进程(jdk中的)
2、杀死进程
kill pid:杀死进程
kill -9 pid:强制杀死进程(常用)
pkill pname:杀死进程
pidof pname:根据名称获取pid
3、进程调度
ctrl+c: 终止进程(只能终止前端进程)
ctrl+z: 挂起进程
fg: 切换为前台进程(foreground:前台)
bg: 切换为后台进程(background:后台)
jobs:查看任务
第二节:计划任务
一、简介
at: 服务名称atd, 指定时刻或者延迟指定时间执行一次任务。
crontab: 服务名称crond,间隔固定时间周期执行。分时日月周
二、crontab命令使用
-u:指定用户
-e:编辑计划任务文件(edit:编辑)
-l:查看计划任务(list)
-r:删除计划任务(remove:去除)
-i:删除时用于提示(indicate:表明)
三、基本格式
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点) 7-9表示:7点到9点之间
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
四、计划任务文件(默认)
/var/spool/cron/
通过crontab添加的计划任务都会存储在/var/spool/cron/目录里
第三节:grep(文本生成器)
一、简介
文本搜索并打印匹配行,支持正则表达式
-c:统计匹配行数(count:统计)
-i:忽略大小写(ignore:忽略)
-v:取反(vice versa; v.v. :反之亦然)
二、基本语法
grep 字符串 文件: grep a a.txt
cat a.txt | grep a
三、常见选项
grep -c b a.txt
rpm -qa | grep -i mysql
grep -v a a.txt
四、正则表达式
1、正则表达式的简单规则
. : 任意一个字符
a* : 任意多个a(零个或多个a)
a? : 零个或一个a
a+ : 一个或多个a
.* : 任意多个任意字符
\. : 转义.
o\{2\} : o重复两次
[A-Z]
[ABC]
2、例子
正则表达(点代表任意一个字符)
grep 'h.*p' /etc/passwd
正则表达以hadoop开头
grep '^hadoop' /etc/passwd
正则表达以hadoop结尾
grep 'hadoop$' /etc/passwd
以h或r开头的
grep '^[hr]' /etc/passwd
不是以h和r开头的
grep '^[^hr]' /etc/passwd
不是以h到r开头的
grep '^[^h-r]' /etc/passwd