进程管理;I/O重定向与管道

发布时间 2023-11-27 20:00:33作者: ihao1126

一.进程定义
进程的定义

程序是静态的代码文件;进程是指程序运行时的形态

进程是程序的一个副本(copy程序到内存,相当于副本)
进程是有生命周期的(准备期、运行期、终止期)

进程和线程

进程:进程是资源调用的最小单位。所有事件由cpu处理,当一个事件cpu,其他事件就无法占用处于,等待用完才可以使用cpu。
双核、三核cpu:为充分使用cpu,一个事件细划分成若干个小的线程,加速cpu同时处理。
线程是进程的最小单位(多核3会涉及到线程)

程序执行流是从上到下贯穿运行的

当进程是多任务,cpu是多核心时,多任务应该同时被每个核心处理,每个核心处理的任务叫线程资源。 线程资源是共享的

 

二.进程作用:

多用户环境

多终端环境

多任务操作

更灵活的管理

多任务管理

系统资源分配

三、任务管理

1、操作环境

前台 可以与用户执行交互操作的环境

后台 不可以与用户执行交互操作的环境

2、注意事项

只能管理当前终端下的进程

后台任务不能通过终端进行的输入

后台任务只能通过命令管理

前台任务可以通过ctrl+c打断执行

四、进程管理

1.查看进程
静态查看

命令: ps

选项: -a 显示所有用户的进程,包括完整路径

-u 显示使用者的名称和起始时间

-x 显示没有控制终端的进程

2、动态查看

命令:top

选项:-d 指定刷新时间,单位为秒

-n 指定刷新次数

-p 指定PID进行精确查找

大P 以CPU使用率进行排序

大M 以内存使用率进行排序

T 以CPU使用时间进行排序

N 以PID值进行排序

K 杀死指定进程

r 设定优先级

q 退出

 

 

I/O重定向和管道使用
概念理解

linux系统中的三种I/O设备所代表的编号分别是:
标准输入(STDIN),文件描述符为0,默认从键盘获取输入;
标准输出(STDOUT),文件描述符为1,默认输出到显示屏;
标准错误(STDERR),文件描述符为2,默认输出到显示屏。

I/O重定向就是为了改变默认输入、输出的位置:

>:表示标准输出覆盖重定向;
>>:表示标准输出追加重定向;
2>:表示错误输出覆盖重定向;
2>>:表示错误输出追加重定向;
&>:表示合并标准输出和错误输出覆盖重定向;
&>>:表示合并标准输出和错误输出追加重定向;
2>&1:表示意义同&>即合并标准输出和错误输出覆盖重定向;
<:输入重定向;
<<:多行输入;
set -C命令:禁止覆盖重定向;
>|:强制覆盖重定向(与set -C相反);
set +C命令:解除禁止覆盖重定向的设置;
​ 管道符(|)作用是把前一个命令的执行结果当做后一个命令的输入。

管道可以把一个进程的标准输出流与另一个进程的标准输入流连接起来。bash中用“|”在两个命令之间创建管道。例如:

less:逐页查看输入

ls -l /etc |less

mail:通过电子邮件发送输入

echo "test email" | mail -s "text" stu28

把test email中的内容以邮件的形式发送给用户stu28

lpr:把输入发送给打印机

$ echo "test print" | lpr -P printer_name