首页 > 系统相关 >Linux进程管理

Linux进程管理

时间:2024-08-08 20:55:57浏览次数:11  
标签:管理 nohub CPU sleep Linux 进程 root wing

Linux进程管理

进程定义

分配内存, 已分配内存的地址空间

安全属性, 进程的运⾏身份和权限

进程代码, 运⾏⼀个或多个的线程

进程状态, 进程运⾏后的多种状态

  • 进程是已启动的可执行程序的运行实例。
  • 包含:分配内存、安全属性、进程代码、进程状态。
  • 静态程序:二进制文件(如/bin/ls, /usr/sbin/sshd)。
  • 动态进程:程序运行的过程,具有生命周期及运行状态。

进程生命周期

  1. 创建阶段:通过fork()或exec()系统调用创建进程。
  2. 就绪阶段:创建后放置在系统就绪队列中,等待CPU分配。
  3. 运行阶段:CPU分配后开始执行,此时进程状态为运行。
  4. 阻塞阶段:执行过程中遇到阻塞事件(如I/O操作)进入阻塞状态,不再占用CPU资源。
  5. 结束阶段:任务完成或被终止时,进程被系统回收,标记为僵尸进程,直到父进程调用wait()或waitpid()回收资源,最终销毁。

进程监控与管理

静态监控进程

  • - 使用`ps`命令了解进程信息:
    
    - USER: //运⾏进程的⽤户
    
      PID: //进程 ID
    
      %CPU: //CPU 占⽤率
    
      %MEM: //内存占⽤率
    
      VSZ: //占⽤虚拟内存
    
      RSS: //占⽤实际内存 驻留内存
    
      TTY: //进程运⾏的终端
    
      STAT: //进程状态 man ps (/STATE)
    
       R //进程运⾏
    
       S //可中断睡眠
    
       D //不可中断睡眠
    
       Z //僵⼫进程
    
       X //进程已经退出
    
       T //进程被暂停
    
       Ss s //进程的领导者,⽗进程
    
       S< < //优先级较⾼的进程
    
       SN N //优先级较低的进程
    
       R+ + //表示是前台的进程组
    
      vx: WingspanGo
    
      vx: WingspanGops 命令使⽤⽅法
    

动态监控进程

  • 使用top命令:
  • h: 帮助。
  • z: 彩色信息展示。
  • 1: 显示所有CPU的负载。
  • s: 设置刷新时间。
  • b: 高亮显示处于R状态的进程。
  • m: 按内存使用百分比排序。
  • p: 按CPU使用百分比排序。
  • r: 对排序进行反转。
  • f: 自定义显示字段。
  • k: 杀死指定PID进程。
  • w: 保存top环境设置。
  • q: 退出。

进程管理方法

信号管理进程

  • 使用kill命令发送信号与进程通信:
  • 1: 挂起信号,重新配置进程。
  • 2: 终止信号,与ctrl+c作用相同。
  • 9: 直接杀死进程,不能被进程捕获。
  • 15: 终止进程。
  • 18: 继续执行被暂停的进程。
  • 19: 暂停进程。
  • 20: 用户停止请求,类似ctrl+z。

常⻅信号列表:

数字信号    信号别名    作⽤

1   HUP   挂起信号,往往可以让进程重新配置

2    INT   中断信号,起到结束进程的作⽤,和ctrl + c 的作⽤⼀样

3    QUIT    让进程退出,结果是进程退出

9    KILL    直接结束进程,不能被进程捕获

15   TERM    进程终⽌,这是默认信号

18   CONT    被暂停的进程将继续恢复运⾏

19   STOP    暂停进程

20   TSTP    ⽤户停⽌请求,作⽤类似于ctrl + z 把进程放到后台并暂停

nohub

nohub的命令的作⽤是可以将程序以忽略挂起信号的⽅式运⾏。常⻅的⽤法是与&⼀起使⽤,将命令放到后台运

⾏,并且终端挂掉之后还会运⾏。

将程序放到后台运⾏⽤两中⽅法:

1. command & :后台运⾏,关掉终端之后程序会停⽌。

2. nohub command & :后台运⾏,关掉终端程序不会停⽌,还会继续运⾏。

 20:50:17 up 95 days, 9:30, 1 user, load average: 0.00, 0.00, 0.00

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

wing pts/0 115.175.115.39 20:22 0.00s 0.01s 0.00s sshd: wing [priv]

//终⽌ pts/0上所有进程, 除了bash本身

[root@wing ~]# pkill -t pts/0

//终⽌pts/0上所有进程, 并且bash也结束(⽤户被强制退出)

[root@wing ~]# pkill -9 -t pts/0

//列出wing⽤户的所有进程,-l输出pid

[root@linux-wing ~]# pgrep -l -u wing

32206 sshd

32207 bash

[root@wing ~]# sleep 3000 & //运⾏程序(时),让其在后台执⾏

[root@wing ~]# sleep 4000 //^Z,将前台的程序挂起(暂停)到后台

[2]+ Stopped sleep 4000

[root@wing ~]# ps aux |grep sleep

[root@wing ~]# jobs //查看后台作业

[1]- Running sleep 3000 &

[2]+ Stopped sleep 4000

[root@wing ~]# bg %2 //让作业 2 在后台运⾏

[root@wing ~]# fg %1 //将作业 1 调回到前台

[root@wing ~]# kill %1 //kill 1,终⽌ PID 为 1 的进程

[root@wing ~]# (while :; do date; sleep 2; done) & //进程在后台运⾏,但输出依然在当前终端

[root@wing ~]# (while :; do date; sleep 2; done) &>/dev/null &

注意点:

\1. 如果使⽤nohub执⾏程序未显示进⾏标准输出流重定向,则标准输出流默认重定向到当前⼯作⽬录的

nohub.out⽂件中。如果当前⼯作⽬录的nohub.out⽂件不可写,输出重定向到$HOME/nohub.out⽂件中。

如果没有⽂件能创建或者打开⽤于追加,那么command参数指定的命令不可调⽤。

\2. 如果标准错误未显示重定向,那么标准错误默认重定向到与标准输出相同的⽂件。

标签:管理,nohub,CPU,sleep,Linux,进程,root,wing
From: https://www.cnblogs.com/zgw03/p/18349692

相关文章

  • 【Linux】【系统纪元】Linux起源与环境安装
    快乐的流畅:个人主页个人专栏:《C游记》《进击的C++》《Linux迷航》远方有一堆篝火,在为久候之人燃烧!文章目录一、Linux的起源1.1计算机硬件1.2计算机软件二、Linux的环境安装2.1安装方式2.2安装版本2.3安装过程2.4远程登录三、Linux的应用场景......
  • Linux标准输入输出与重定向、管道技术
    Linux标准输入输出与重定向、管道技术1.标准输入输出1.1概念每个Linux程序执行时,默认打开三个标准文件描述符:标准输入(STDIN):文件描述符为0,通常对应终端键盘。标准输出(STDOUT):文件描述符为1,默认输出到屏幕。错误输出(STDERR):文件描述符为2,默认输出到屏幕。1.2示例cat......
  • Linux系统中的find命令
    Linux系统中的find命令1.find命令的基本语法其中:路径:指定要搜索的目录。选项:指定搜索参数,如时间、用户、文件类型等。表达式:指定搜索条件,如文件名、大小、权限等。动作:指定对找到的文件执行的操作,如打印、删除、复制等。2.查找文件名称查找精确匹配文件名:-name"文件......
  • Linux C++ 开发2 - 编写、编译、执行第一个程序
    上一篇《LinuxC++开发1-搭建C++开发环境》我们搭建好了C++的开发环境,本篇我们将编写、编译、执行第一个程序。1.第一个C++程序1.1.demo01.cpp这里写一个最简单的HelloWord程序#include<iostream>intmain(){std::cout<<"Hello,world!"<<std::endl;re......
  • 【AcWing】Linux基础课_讲义
    Linux基础课-AcWing部分内容有所修改1.常用文件管理命令:正确的学习方式:边学边查。先跟着官方文档的快速入门过一遍,然后在实际工程项目中有需要的再去查。命令行,方便批量化操作。Linux各目录及每个目录的详细介绍-lin_zone-博客园(cnblogs.com)常用文件夹/根目录/......
  • Linux远程终端MobaXterm下载安装配置使用(详细)
    今天给伙伴们分享一下Linux远程终端MobaXterm下载安装配置使用,希望看了有所收获。我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,欢迎大家......
  • Linux操作系统简介
    今天给伙伴们分享一下Linux操作系统简介,希望看了有所收获。我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相......
  • 在淘客返利系统中实现多租户架构与管理
    在淘客返利系统中实现多租户架构与管理大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着淘客返利系统的不断发展,支持多租户架构已经成为一种趋势。多租户架构允许多个租户(客户)共享同一个系统,但每个租户的数据是相互隔离的。本文将详细介绍如......
  • 使用wsl,windows自带的linux虚拟机
     右键,管理员模式第一次安装,先更新一下wsl组件wsl--updatewsl--status是否为2,不是的话需要设置一下在windows应用商店直接可以下载 Ubuntu时,默认情况下并不会设置root用户的密码,而是鼓励用户使用sudo命令以获得管理员权限。root账户通常是禁用的,并且没有默认......
  • Springboot计算机毕业设计高校实验室管理系统(程序)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学生,教师,实验课程,课程打卡,实验报告,实验成绩,实验设备,耗材信息,耗材申请开题报告内容一、选题背景与意义1.选题背景随着高校教学科研水平的不断提升,实验......