什么是进程?

程序(program)放置在存储媒体中(如硬盘,光盘,软盘,磁带等)为实体文件的形态存在

进程:程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说,进程就是一个正在运行的程序

进程的状态:

R(Running):该程序正在运行中;

S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)

D:不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。

T:停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态;

Z(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外

1.进程的查看命令

ps -A ##所有进程

ps -a ##在当前用户环境运行的程序,不包含环境信息

ps -u ##显示进程用户信息

ps a ##在当前环境中运行的进程

ps x ##列出系统中所有运行包含tty输出设备

ps f ##显示进程的所属关系(父子关系)

ps e ##显示进程的详细信息(系统资源的调用)







ps常用组合

ps aux ##显示系统中的所有进程

ps ef ##显示进程详细信息并显示父子进程

ps ax ##显示当前系统的所有进程

pstree ##显示当前进程的进程树









显示进程的指定信息

ps -o xxx ##显示进程的指定信息

comm ##进程名称

user ##进程所有人

group ##进程所有组

%cpu ##进程cpu使用率

%mem ##进程内存使用率

pid ##进程pid

nice ##进程优先级



2.进程排序

ps ax --sort=

+%cpu|-%cpu

+%mem|-%mnm




stat中显示的信息

S ##进程状态

l ##内存中有锁定空间

N ##优先级低

< ##优先级高

+ ##前台运行

s ##顶级进程

3.进程优先级

1.进程的优先级范围-20~19





2.优先级的查看

ps ax -o pid,nice,comm



3.指定优先级

nice -n 优先级数字 进程名称



修改优先级

renice -n 数字 进程的id



环境中进程的前后台调用

jobs ##查看被打入环境后台的进程

ctrl+z ##把占用终端的进程打入后台

fg jobsnum ##把后台进程调回前台

bg jobsnum ##把后台暂停的进程运行

comm & ##让命令直接在后台运行



4.进程信号

常用信号等级

1 ##进程重新加载配置

2 ##删除进程在内存中的数据

3 ##删除鼠标在内存中的数据

9 ##强行结束单个进程(不可被阻塞)

15 ##正常关闭进程(可能被阻塞)

18 ##运行暂停的进程

19 ##暂停某个进程(不可被阻塞)

20 ##把进程打入后台(可以被阻塞)

man 7 signal ##查看信号的详细信息



kill -信号 进程的pid





注意,在这里kill-15可能无法结束掉比较重要的进程,如bash

killall -信号 进程的名字



pkill -u student -信号

切换到普通用户关闭vim同时关闭student的shell

5.进程的动态监控

top 常用的如下:

1. ##显示cpu每个核的负载

s ##调整刷新频率

c ##cpu负载排序

m ##内存使用量排序

h ##查看帮助

u ##查看指定用户进程

k ##对指定进程发起信号

q ##退出









6.控制服务

服务:cs模型:

c:client

s:server

定义:系统中运行的对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件,简称服务

reloda=kill -1,但是有些服务没办法reload,例如网络服务


远程控制命令:
systemctl status sshd ##查看服务状态,inactive(不可用)active(可用)
systemctl start sshd ##开启服务
systemctl stop sshd ##关闭服务
systemctl restart sshd ##重起服务
systemctl reload sshd ##重新加载服务配置(同kill -1相同)
systemctl enable sshd ##设定服务开机启动
systemctl disable sshd ##设定服务开机不启动
systemctl list-units ##列出已经开启服务当前当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态 disable,enable,static
systemctl list-dependencies ##列出服务的依赖
systemctl mask sshd ##冻结服务
systemctl unmask sshd ##解冻服务
systemctl set-default multi-user,target ##设定系统后启动级别为多用户模式(无图形)
systemctl set-dafault graphical,target ##设定系统启动级别为图形模式



如图,在这里sshd服务时正在运行的





来源:https://blog.csdn.net/weixin_42446031/article/details/86498921

基于LINUX下的进程管理问题的更多相关文章

  1. linux 下的进程管理工具 supervisor

    在linux下监控进程: 1)yum install python-setuptools   linux下的python安装工具 2)easy_install supervisor     安装sup ...

  2. Linux下的进程管理

    在操作系统系统中,进程是一个非常重要的概念. 一.Linux中进程的相关知识 1.什么是进程呢? 通俗的来说进程是运行起来的程序.唯一标示进程的是进程描述符(PID),在linux内核中是通过task ...

  3. Linux下monit进程管理操作梳理

    Monit对运维人员来说可谓神器,它是一款功能非常丰富的进程.文件.目录和设备的监测工具,用于Unix平台.它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误.Monit ...

  4. 【one day one linux】linux下的软件包管理工具

    Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...

  5. Linux下的进程控制块(PCB)

    本文转载自Linux下的进程控制块(PCB) 导语 进程在操作系统中都有一个户口,用于表示这个进程.这个户口操作系统被称为PCB(进程控制块),在linux中具体实现是 task_struct数据结构 ...

  6. Linux下java进程CPU占用率高分析方法

    Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...

  7. linux下对进程按照内存使用情况进行排序

    linux下对进程按照内存使用情况进行排序的命令为:ps aux --sort -rss 详细解说参见 http://alvinalexander.com/linux/unix-linux-proce ...

  8. linux下查看进程占用端口和端口占用进程命令

    Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...

  9. linux下监控进程需掌握的四个命令

    linux下监控进程需掌握的四个命令   在LInux系统下,最困难的工作之一就是跟踪正在系统中运行的程序,尤其是现在,图形桌面使用很多的程序,只是为了生成一个桌面环境,系统中运行了太多的进程,幸运的 ...

随机推荐

  1. 【原创】CancellableWait

    应用程序不能正常退出,导致无法关机,这种情况通常是应用程序在等待一些I/O request to finish. 应用程序访问远程文件时,这种情况的发生更加频繁. If an application ...

  2. 【Robot Framework 】项目实战汇总

    写在前面 RF自动化的文章记录基本完成,建一个汇总目录,方便查看. [Robot Framework 项目实战]汇总 ∮[RF 项目实战 00]环境搭建 ∮[RF 项目实战 01]使用 Request ...

  3. .NET Standard

    A formal specification of the APIs that are common across .NET implementations What is .NET Standard ...

  4. BGP多线 有些BGP IP也会被极少数运营商劫持 取Ip逻辑

    小结: 1.租用的服务器只有一个IP,用户的访问路线是由路由器根据访客的实际访问速度选择最优访问路径,来选择访问的.而且不占用任何的服务器资源.服务器的上行和下行都是有路由器来选择最佳的路线,所以这样 ...

  5. 如何查看linux内核中驱动的初始化顺序?

    答:通过生成的System.map可以查看到,主要关注__initcall_<module_entry_function>_init<level>,如: __initcall_ ...

  6. linux中怎样会引起进程睡眠呢?

    答: 使用信号量,wait队列,completion,调用schedule,用GFP_KERNEL指定的内存分配malloc,get,free,page等都会引起睡眠 思考: Q: 为什么会引起睡眠呢 ...

  7. iOS如何将RGB565的原始图像数据转为UIImage对象

    我们在做一些图像处理时,往往会涉及到RGB565这种图像数据格式.由于其每个像素仅占2个字节,对于不需要像素透明度的情况下使用RGB565既能基本能保证图像的色彩,又能降低图像数据尺寸,节省带宽.因此 ...

  8. tortoiseGit did not exit cleanly (exit code 128)

    安装并配置好tortoiseGit之后,clone项目时,报错: git did not exit cleanly (exit code 128)如下图: 该问题解决方式: 1.确保Pageant启动 ...

  9. asp.net MVC AngularJS

    http://www.cnblogs.com/powertoolsteam/category/834105.html

  10. 012-Spring Boot web【一】web项目搭建、请求参数、RestController、使用jsp、freemarker,web容器tomcat和jetty

    一.项目搭建 同:http://www.cnblogs.com/bjlhx/p/8324971.html 1)新建maven项目→使用默认配置即可 定义好项目名称等 2)修改jdk版本 <pro ...