Linux进程基本介绍:

1)在Linux中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。

2)每一个进程,都对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。

3)每个进程都可能以两种方式存在的,前台和后台。所谓前台进程就是用户目前的屏幕上都可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,同城使用后台方式执行。

4)一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束。

显示系统执行的进程:

基本介绍

ps命令是用来查看目前系统中,有那些正在执行, 以及他们执行的状况。

可以不加任何参数。

ps显示的信息选项:

字段        说明

PID       进程识别号

TTY        终端机号

TIME       此进程所消耗cpu时间

CMD       正在执行的命令或进程名

——————————————————————————————

ps -a:      显示当前终端的的所有进程信息

ps -u:     以用户的格式显示进程信息

ps -x:     显示后台进程运行的参数

ps详解:

1)指令:ps -aux | grep xxx

2)指令说明

System V 展示风格

USER: 用户名称

PID:进程号

%cpu:进程占用cpu的百分比

%MEM:进程占用物理内存的百分比

VSZ: 进程占用的虚拟内存的大小(单位:KB)

RSS:进程占用的物理内存的大小(单位:KB)

TT:终端的名称,缩写

STAT: 进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

STARTED:进程的启动时间

TIME:cpu时间,即进程使用cpu的总时间

COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

显示系统执行的进程

应用实例:

要求:以全格式显示当时所有的进程,查看进程的父进程。

  ps -ef是以全格式显示当前所有的进程

  -e 显示所有进程。 -f 全格式。

  ps -ef | grep xxx

  是BSD风格

  UID:用户ID

  PID:进程ID

  PPID:父进程ID

  C:cpu用于计算执行优先级的因子。数值越大,表明进程是cpu密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

  STIME:进程启动该的时间

  TTY:完整的终端名称

  TIME:cpu时间

  CMD:启动进程所用的命令和参数

  思考题:如果我们希望查看sshd进程的父进程号是多少,应该怎样查询?

  

  蓝色框里面的就是sshd的父进程号

终止进程kill和killall

介绍:

若是某个进程执行一半需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

基本语法:

kill [选项] 进程号 (功能描述:通过进程号杀死该进程)

killall 进程名称  (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢的时候很有用)

常用选项:

-9  :表示强迫进程立即停止

最佳实践:

案例1:踢掉某个非法登陆用户

我们先用xshell使用jack用户名远程登录:

然后我们使用ps -aux | grep sshd 命令找到jack登录的进程号:

之后使用kill 指令终止该进程:

然后我们会看到之前远程登陆的jack用户被强制下线了:

案例2:终止远程登陆服务sshd,在适当时候再次重启sshd服务

然后kill它就可以了。

之后我们再使用xshell远程登录Linux:

重启服务:service sshd restart

案例3:终止多个gedit编辑器

我们先打开两个gedit编辑器:

然后我们在xshell中使用killall命令来结束进程:

我们可以看到虚拟机的终端显示已终止:

案例4:强制杀掉一个终端

我们先打开两个终端:

然后我们杀死其中一个终端:

查看进程树pstree

基本语法:

pstree [选项],可以更加直观的来看进程信息

常用选项:

-p:显示进程的PID

-u:显示进程的所属用户

应用实例:

案例1:请以树状的形式显示进程的PID

案例2:请以树状的形式显示进程的用户ID

服务(service)管理

介绍:

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如 MySQL,sshd 防火墙等,因此我们有称之为守护进程,是Linux中非常重要的知识点。

service管理指令:

service 服务名 【start | stop | restart | reload | status 】

在centos7.0以后也可以使用以下指令:

systemctl  【start | stop | restart | reload | status】   服务名

使用案例:

1)查看当前防火墙的状况,关闭防火墙和重启防火墙。

查看防火墙:

关闭防火墙:

重启防火墙:

细节讨论:

1)关闭或者启用防火墙后,立即生效。【telnet 测试某个端口即可】

先测试Linux的22号端口:

我们需要在命令行窗口键入:telnet   linux的IP地址   端口

ps:如果我们显示telnet 不是一个命令,证明我们的windows还没有开启这个功能,可以在开始->telnet ->开启telnet功能:

我们找到telnet客户端,然后把它选上就行了:

如果我们能进入以下的界面,证明22号端口是开启的并且可以进行访问:

2)这种方式只是临时生效,当重启系统后,还是要回归以前对服务的设置。

3)如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令

查看服务名:

方式1:使用setup ->系统服务  就可以看到

方式2:使用 ls -l  /etc/init.d 指令可以查看服务(centos7及以上版本需要使用systemctl list-unit-files 列出所有服务)

后缀是.service的就是服务进程

服务的运行级别(runlevel):

查看或者修改默认级别:  vi/etc/inittab

Linux系统有7中运行级别(runlevel):常用的是级别3和5

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS),不支持网络

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:x11控制台,登陆后进入图形GUI模式

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

开机的流程说明:

chkconfig指令:

通过chkconfig命令可以给每个服务的各个运行级别设置自启动/关闭

基本语法

1)查看服务 chkconfig  --list|grep xxx

2)chkconfig 服务名 --list

3)chkconfig --level 5 服务名 on/off

例如查看服务状态:chkconfig --list

centos7及以上的版本应使用systemctl list-unit-files

动态监控进程

介绍:

top与ps命令很相似,它们都用来显示正在执行的进程。top和ps最大的不同之处在于top在执行一段时间可以更新正在运行的进程

基本语法:

top【选项】

选项说明:

选项 功能
-d秒数 指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
-i 使top不显示任何闲置或者僵死进程
-p 通过指定监控进程ID来仅仅监控某个进程的状态。

交互操作说明:

操作 功能
P 以CPU的使用率排序,默认就是此项
M 以内存的使用使用率排序
N 以PID排序
q 退出top

应用实例:

案例一.监视特定用户

top:输入此命令,按回车键,查看执行的进程。

u:然后输入“u”回车,再输入用户名,即可

案例2:终止指定的进程。

top:输入此命令,按回车键,查看执行的进程。

k:然后输入“k”回车,再输入要结束的进程ID号

出现下面这个语句的时候再按一下回车就可以了

案例三:指定系统状态更新的时间(每隔10秒自动更新,默认是3秒):

bash > top -d 10

监控网络状态:

查看系统网络情况netstat

基本语法

netstat【选项】

选项说明

-an 按一定顺序排列输出

-p 显示那个进程在调用

应用案例

请查看服务名为sshd的服务的信息。

检测主机连接命令ping:

是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断,网线是否脱落或网卡故障。

Linux service进程管理的更多相关文章

  1. .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控

    一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...

  2. Linux:进程管理

    Linux:进程管理 进程间通信 文件和记录锁定. 为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放.这是UNIX为共享 ...

  3. Linux操作系统的进程管理和作业管理

    Linux操作系统的进程管理和信号 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lsof命令详解 1>.lsof概述 list open files查看当前系统文件的工 ...

  4. Linux操作系统的进程管理

    Linux操作系统的进程管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.进程相关概念 1>.进程概述 内核的功用: 进程管理.文件系统.网络功能.内存管理.驱动程序. ...

  5. linux 系统管理--进程管理

    目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...

  6. [Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务

    进程管理:查看与终止 进程查看 1. 进程是正在执行的程序或命令. 2. 进程管理的作用: 判断服务器健康状态, 查看系统中所有进程 杀死进程 3. 查看系统中所有进程 ps aux    # 查看系 ...

  7. Supervisor安装与配置(Linux/Unix进程管理工具)

    原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...

  8. Supervisor(Linux/Unix进程管理工具)安装与配置

    参考链接:https://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyt ...

  9. Linux内核——进程管理与调度

    进程的管理与调度 进程管理 进程描写叙述符及任务结构 进程存放在叫做任务队列(tasklist)的双向循环链表中.链表中的每一项包括一个详细进程的全部信息,类型为task_struct,称为进程描写叙 ...

随机推荐

  1. 【BZOJ3837】[PA2013]Filary

    [BZOJ3837][PA2013]Filary 题面 darkbzoj 题解 考虑到模数为\(2\)时答案至少为\(\frac n2\),这是我们答案的下界. 那么我们对于任意的一个数,它们答案集合 ...

  2. 第02组 团队Git现场编程实战

    目录 1. 组员职责分工(2分) 2. github 的提交日志截图(1分) 3. 程序运行截图(3分) 4. 程序运行环境(1分) 5. GUI界面(5分) 6. 基础功能实现(10分) 7. 鼓励 ...

  3. Spring Transaction 使用入门 (转)

    Spring Transaction 使用入门 一.开篇陈述 1.1 写文缘由 最近在系统学习spring框架IoC.AOP.Transaction相关的知识点,准备写三篇随笔记录学习过程中的感悟.这 ...

  4. IDEA Gradle配置与使用

    1.安装Gradle,并添加环境变量. https://www.cnblogs.com/NyanKoSenSei/p/11458953.html 2.在IDEA中设置Gradle: 3.选中项目中的. ...

  5. Spring Security教程之session管理(十一)

    1.1     检测session超时 1.2     concurrency-control 1.3     session 固定攻击保护 Spring Security通过http元素下的子元素s ...

  6. 一道经典的Java面试题:equals ,== 和hashcode()的区别

    一句话区别:==比较的是内存地址,equals比较的是值内容 结论: 从以下三点展开: 基本数据类型.字符串.对象 对于基本数据类型:只有==,没有equals. 对于字符串:==比较的是内存地址,e ...

  7. 修改mysql端口后重启mysql报错:Can't start server: Bind on TCP/IP port. Got error...n denied

    1:错误信息:如下 [root@host ~]# systemctl status mariadb ● mariadb.service - MariaDB database server Loaded ...

  8. thinkphp的路径问题

    无法加载模块?验证码无法显示?__URL__没有替换成当前模块路径?那么你可能遇到了跟我一样的问题.如果你是通过超链接(或者是在地址栏输入该页面的地址)来访问某个页面(即模版)时,如果你在这个页面使用 ...

  9. [原创]K8tools 20191111/K8工具合集

    K8tools 20191111 声明: 工具仅供安全研究或授权渗透,非法用途后果自负. 下载: https://github.com/k8gege/K8tools PS: 不定期更新,文件比较大,可 ...

  10. CentOS7 mysql 连接不上 :[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable

    mysql一直连接不上我的数据库,输入密码也进不去mysql. 报连接不上服务的错误. Can 't connect to local MySQL server through socket '/tm ...