linux进程管理(linux命令安装、进程生命周期、进程&线程&协程)

1 linux下如何杀掉进程

  1)找到包名所占用的端口: ps aux | grep cbs_portal-1.0.1.jar(包名)
  2)杀掉进程: kill 10942(端口号)
PS:
//--color=auto 表示默认显示匹配到的字符串。也可以设置其他颜色,没有这个参数当然是默认的颜色了。(不用删除)
ps -aux 显示所有包含其他使用者的行程

如图: 

 

2 linux添加文件权限

//设置文件夹的读写权限:读取权限 r = 4 ;写入权限 w = 2 ;执行权限 x = 1 
 sudo chmod -R 777 /data
//权限码描述, -R表示包含设置所有子目录(递归)
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
chmod +x的意思就是给执行权限

3 linux查看端口占用情况

端口占用情况,命令如下:netstat -ltn

4 linux 重命名

//ex:将目录A重命名为B
mv A B

5 linux查看日志文件

查看日志文件的linux命令:tail、tac、cat等。

//tail 命令详解,语法:tail [参数][文件]
参数:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部n行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q ,--quiet,--silent从不输出给出文件名的首部
-s,--sleep-interval=S与-f合用,表示在每次反复的间隔休眠S秒
ex:
tail -100f  文件名 #实时查看日志文件 后一百行
tail -f -n 100 catalina.out  文件名 #linux查看日志后100行

 6 进程、线程、协程之间的关系

操作系统以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源分配最小的单位。

进程管理:主要包括7个方面。

  1. 进程调度
  2. 中断处理
  3. 信号
  4. 进程优先级
  5. 上下文切换
  6. 进程状态
  7. 进程内存

进程间通讯:管道(Pipe)、命名管道(FIFO)、消息队列(Message Queue)、信号量(Semaphore)、共享内存(Shared Memory)、套接字(Socket)。

进程:一个进程是一个运行在处理器的程序的一个实例。该进程使用linux内核能够处理的任何资源来完成它的任务。

线程:轻量级进程,是操作系统调度(CPU调度)执行的最小单位。一个线程就是执行一个子程序。

协程:子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。子程序就是协程的一种特例。

进程、线程、协程关系:进程:一个QQ-》线程:多个QQ聊天窗口-》协程:用户态的协程。关系图如下:

 

调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。

并发性:进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行。

 

 https://blog.csdn.net/daaikuaichuan/article/details/82951084

6.1 进程生命周期

  linux操作系统属于多任务操作系统,系统中的每个进程能够分时复用CPU时间片,通过有效的进程调度策略实现多任务并行执行。而进程在被CPU调度运行,等待CPU资源分配以及等待外部事件时会属于不同的状态。

进程的三种基本状态:

就绪状态:进程已得到运行所需资源,只等待CPU的调度便可运行。

运行状态:进程已得到运行所需资源,并且得到了CPU的调度。

等待状态[阻塞状态]:不具备运行条件、等待时机的状态。

进程的三态图和五态图,各状态转换之间的关系:

  • 就绪->运行:条件被调度程序选中。
  • 运行->就绪:条件是时间片到[超时],或被更高优先级的进程剥夺。
  • 运行->等待:条件不具备运行条件,等待某一事件的发生。
  • 等待->就绪:条件是等待的事件已发送,具备了运行条件。

6.2 进程死锁

  进程管理是操作系统的核心,设计问题可能会导致死锁。比如一个进程在等待一个不可能发生的事情,则进程就死锁了。

6.3 上下文切换

进程运行过程中,进程的运行信息被保存于处理器的寄存器和它的缓冲中。

上下文:正在执行的进程加载到寄存器中的数据集

上下文切换:为了切换进程,运行中进程的上下文将会被保存,接下来的运行进程的上下文将被恢复到寄存器中。进程描述和内核模式堆栈的区域将会用来保存上下文。

上下文切换造成的影响:会引发性能问题,处理器每次都必须清空刷新寄存器和缓存,为新的进程制造空间。

上下文切换图:

6.4 中断处理

中断处理是优先级最高的任务之一。中断产生:I/O设备产生,比如网络接口卡、键盘、磁盘控制、串行适配器等等。

中断原理:中断处理器通过一个事件通知内核(例如,键盘输入、以太网帧到达等)。它让内核中断进程的执行,并尽可能快地执行中断处理,为另一些设备进行快速的响应。当一个中断信号到达内核,内核必须切换到当前进程到一个新的中断处理程序,就引起了上下文切换。

linux有两种类型的中断:

  • 软中断:处理可以延迟的任务(TCP/IP操作,SCSI协议操作等)
  • 硬中断:请求响应的设备发出的(磁盘I/O中断、网络适配器中断、键盘中断、鼠标中断)。/proc/interruupts文件中查看硬中断信息。

备注:在多处理器的环境中,中断被每一个处理器处理,绑定中断到单个的物理处理中能提高系统的性能。

7 vim的安装

//linux系统vim安装命令,ubuntu系统,普通用户下输入命令
sudo apt-get install vim-gtk 

//centos系统,普通用户下输入命令
yum -y install vim*

eg://如果安装不上,先更新apt-get,执行命令:sudo apt-get update
sudo apt-get install vim-gtk
//vi+tab键查看是否有vim命令,修改命令,语法高亮
sudo vim /etc/vim/vimrc
syntax on

//vim常见配置命令修改
set nu                           // 在左侧行号
set tabstop                  //tab 长度设置为 4
set nobackup               //覆盖文件时不备份
set cursorline               //突出显示当前行
set ruler                       //在右下角显示光标位置的状态行
set autoindent             //自动缩进

https://jingyan.baidu.com/article/046a7b3efd165bf9c27fa915.html

8 ubuntu系统下安装tree命令

ubuntu下类似的命令都可以用apt-get进行安装。

sudo apt-get install tree

安装完成后,查看安装的位置:

 

posted @ 2019-09-04 12:51  wendyw  阅读(763)  评论(0编辑  收藏  举报