进程与线程
首页->学习资料->linux教程->linux基础 关键词: 发布时间:2016-02-27 09:03:16 浏览次数:1617

进程:

正在执行的程序,在linux中,每个进程都有一个id号,每个进程都会有一个父进程,而这个父进程可以复制多个子进程,每个进程都可以用前台或者后台的形式存在,如vi编辑器,是以前台方式存在的,所谓前台进程就是在用户的当前屏幕中可以进行操作的。系统服务一般是以后台形式存在,而且长驻内存直至关机。


线程:

1、轻量级的进程

2、进程有自己独立的地址空间(系统给它分配置的一块内存,可能是连接的也可能是不连续的,一旦分配,对应的进程只能在这一区域里面运行,如果超出、越界、或者不够用,就可能出现蓝屏)

3、线程不能独立存在,他是由进程创建的,linux中为fork;

4、查对而立,线程消耗的内存与cpu小于进程;


如果把一个网页比做进程,那么页面中的ajax异步请求就有点类似于它的线程,这样是不是比较好题解;


如果在linux中查看进程?

[root@localhost hurong]# ps aux
貌似也可以加个-  ,ps -aux

a:所有

u:以用户的格式显示

x:显示后台进程的参数

也可以不加参数直接用ps查看,不过信息就不是很全面

运行后上面的命令显示的结果类似:

[root@localhost hurong]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2900  1456 ?        Ss   Feb26   0:02 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Feb26   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Feb26   0:00 [migration/0]

............

其中pid=1的进程是所有其它进程的父进程


上面的查看方式是静态的(数据不会变化),如果想动态查看某进程,可以用top命令

[root@localhost hurong]# top

回车后看到类似如下的界面,按键盘上的u再按回车键,可以在下面图片的红字处输入用户名,查看指定用户的进程;也可以按k,再输入要结束的进程号,可以终止某进程;

还可以用:[root@localhost hurong]# top -d 秒数

指定系统更新进程的时间

上面的图片中的信息非常重要:

第一行:

top -后面的时间表示这台机器正常运行了多久时间,2 users 表示当前有2个用户在系统中操作,如果发现异常,可能是被入侵了;

load average 表示负载均衡,如果其后三个数相加除以3大于0.6就得小心了,表示服务器资源紧张,得考虑升级硬件,或者是不是被入侵了;

第二行:

tasks: total表示系统中一共有多少个进程,running表示几个在运行中,sleeping表示多少个在休眠中,stopped表示多少个已停止,zombie表示有多少个人僵尸进程(因为异常导致无法回收的进程,一直占用内存空间又没多少作用)

第三行:

表示cpu的状态,us表示使用了多少,id表示还有多少剩余,其它的参数不太清楚,可以自查

第四行:

表示内存使用情况,total表示总共多少内存,used表示使用了多少,free表示还有多少剩余;

第五行:

表示swap分区使用情况,wap分区相当于windows下的虚拟内存,是在磁盘空间上开辟的一块区域,当物理内在不够用的时候才会用到这里;


如果在linux中终止某个进程?

kill pid号 即可,但是,如果这个进程被其它进程依赖,用这个命令无法终止的时候可以加个-9

kill -9 pid号

killall 终止所有进程



赞:(0)
踩:(0)
相关文章
win7中将文件拷贝到虚拟机linux下
linux下切换root用户
linux目录结构
为linux指定运行级别
linux下vi编辑器的使用
linux下安装java
linux下安装tomcat
linux下安装mysql
linux下安装五笔输入法
linux下在终端命令行中显示中文
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:607篇
浏览数:935521
粤ICP备18028092号-1  微信:hurong241