【1】进程相关命令
进程:就是程序的一次执行过程。(动态)
程序:在磁盘空间上存放的可执行的二进制文件。(静态)
论述进程:
1、进程:进程是一个程序的一次执行过程
2、程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概率;
进程是一个动态的概念,它是程序执行的过程,包括创建、调度和消亡。
3、当系统在执行某个程序时,分配和释放的各种资源;进程是一个独立的可调度的任务。
进程占用的内存空间问题:
1.内核 —> 0~4虚拟内存空间
进程id(pid),pid唯一标识进程
cpu资源产生一个描述进程的结构体(保存进程相关信息)。
2. 0~4虚拟内存空间:
0~3G:私有内存空间
3~4G:公用内核空间(驱动,进程间的通信)(私有空间也可使用公用空间)
【2】进程相关指令
1.ps命令 —> 运行终端的pid
1)ps -aux(或ps aux):查看进程信息。
组要查看:用户 进程id TTY:运行是否依赖终端 状态 名称
2)ps -ef:查看信息包含父进程号PPID。
儿子 —> 父亲
子进程使用的是父进程的资源(空间,库等)
3)ps -ajx:可以查看(父进程id 组id 会话id)
多个进程可以组成一个组,多个组可以组成一个会话,多个会话可以组成一个会话组
4)./a.out &:将a.out在后台运行起来
ctrl+z:将后台运行的进程暂停,同时放到后台
5)bg 数字:(这里的数字是按ctrl+z的时候前面中括号里面的数字)
将后台暂停的进程在后台跑起来
6)fg 数字:将后台运行的进程拉到前台运行
7)jobs:查看后台的运行
man ps
- R 运行
- T 暂停
- < 高于优先级
- N 低于优先级
2.top动态显示进程状态
- 在进程状态页面翻页:
shift + >
shift + <
- PR:PR=NI+20
- NI:优先级+19-(-20)
- 值越小优先级越高
3.nice:以指定优先级运行进程
sudo nice -num ./可执行程序 :以优先级为num运行程序
例如:
sudo nice -3 ./可执行程序:程序以3优先级运行
sudo nice --3 ./可执行程序:程序以-3优先级运行
4.renice :运行进程优先级修改
sudo renice num PID
例如:
sudo renice 3 PID:PID对应的进程优先级改为3
sudo renice -3 PID:PID对应的进程优先级改为-3
5.kill:给进程发送信号
kill -l:查看linux中的信号
SIGINT:ctrl+c
SIGKILL:杀死进程信号
SIGSTOP:暂停
SIGUSR1、SIGUSR2:未定默认功能信号[项目异步方式(不阻塞等待)]
kill -信号编号 PID :给指定进程发送指定信号
killall a.out :杀死所有名字为a.out
补充
- 无符号+有符号= 有符号
- 有符号数与无符号数(6)比较时会转成无符号
- -14与6比较时会转换成14
- 正数属于无符号
【3】tar:解压和压缩
1.解压:tar -xvf 文件名.tar.gz
2.压缩:tar -cvzf file.tar.gz *.c
- 【.c是与file后缀对应】
3.若是xxx.zip
unzip xxx.zip
【4】认识shell
1.命令行解析器。
2.shell解析器版本:sh、csh、ksh、bash
3.shell、内核、硬件、用户之间的关系:*****
1)用户从命令行提示终端输入命令或者按键,提交给shell。
2)shell将命令转换为内核可以识别的指令。
3)内核驱动硬件设备实现对应指令功能,将执行结果提交给shell。
4)shell将反馈的结果解释提交给用户识别。
4.shell的特殊字符
【5】通配符
*:匹配任意长度字符
【6】管道 |
将一个命令的输出作为另一个命令的输入
cat test.c:在终端显示文件内容
cat -n test.c:在终端显示文件内容及行号
cat test.c | wc -l:查看test.c文件所占行数
cat -n test.c | grep "hello":搜索test.c文件中字符串"hello"所在行号
ps -aux | grep "a.out":在进程状态中只查看a.out的状态
wc:
wc -l 文件名:查看文件的行数
wc -w 文件名:查看文件单词个数
wc -c 文件名:文件字符个数
wc -m 文件名:文件大小
grep:查询文件中的字符串
格式:grep “字符串” 文件名
例如:
grep -n “字符串” 文件名 :显示行号