Linux命令进程管理工具top、ps、jps和tar以及守护进程nohup

news2024/11/26 4:23:00

进程管理工具top ps

概述

topps 是 Linux 系统中两个非常重要的用于管理和监控进程的命令工具。以下是它们的主要功能和区别:

top:

动态视图:top 提供了一个实时动态更新的视图,能够持续显示系统中当前正在运行的进程信息及其资源占用情况。

系统性能监控:除了显示进程信息外,top 还可以显示系统的整体性能指标,如平均负载(uptime,load average)、CPU使用率(%CPU)、内存使用量(%MEM)等。

更新频率:默认情况下,top命令会定期(通常是3秒钟)刷新输出,更新进程列表和系统状态。 top -d 2

ps:

静态视图:ps 命令在执行瞬间提供一个进程状态的快照,它不会像 top 那样持续刷新,一次性输出指定时刻的进程信息。

详细信息:ps 可以列出大量的进程详细信息,包括进程ID(PID)、父进程ID(PPID)、进程状态、CPU利用率、内存占用、启动时间和命令行等。

定制化输出ps 支持多种参数组合,可以灵活定制输出格式和选择要显示的进程,例如通过 -ef 参数查看全部进程的详细信息,或者通过 -aux 查看系统中所有用户的进程等。

top命令

top命令的输出如下

 命令字段详解

  • 第一行:系统运行时间和平均负载

当前时间、系统已运行时间、当前登录用户的数量、最近5、10、15分钟内的平均负载

  • 第二行:任务

任务的总数、运行中(running)的任务、休眠(sleeping)中的任务、停止(stopped)的任务、僵尸状态(zombie)的任务

  • 第三行:cpu状态
字段字段释义
ususer: 运行(未调整优先级的) 用户进程的CPU时间
sysystem: 运行内核进程的CPU时间
niniced:运行已调整优先级的用户进程的CPU时间
ididle:空闲时间
waIO wait: 用于等待IO完成的CPU时间
hi处理硬件中断的CPU时间
si处理软件中断的CPU时间
st这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)

  • 第四行:内存

全部可用内存、已使用内存、空闲内存、缓冲内存

  • 第五行:swap

全部、已使用、空闲和缓冲交换空间

  • 第七行至N行:各进程任务的的状态监控
字段释义
PID进程ID,进程的唯一标识符
USER进程所有者的实际用户名
PR进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。
NI进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
VIRT

virtual memory usage 虚拟内存,进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES

resident memory usage 常驻内存,驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR

SHR:shared memory 共享内存

1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来

S

这个是进程的状态。它有以下不同的值:

  • D - 不可中断的睡眠态。
  • R – 运行态
  • S – 睡眠态
  • T – 被跟踪或已停止
  • Z – 僵尸态
%CPU自从上一次更新时到现在任务所使用的CPU时间百分比。%CPU显示的是进程占用一个核的百分比,而不是整个cpu(N核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100
%MEM进程使用的可用物理内存百分比
TIME+任务启动后到现在所使用的全部CPU时间,精确到百分之一秒
COMMAND运行进程所使用的命令。进程名称(命令名/命令行)

进程查看ps

ps 命令是一个核心的进程查看命令,用于报告当前系统中进程的状态,常常与grep连用筛选 

常见的扩展选项

  • aux
    a:显示一个终端所有的进程
    u:显示进程的归属用户及内存使用情况
    x:显示没有关联控制终端的进程
  • axjf
    j:显示进程归属的进程组id、会话id、父进程id
    f:以ascii的形式显示出进程的层次关系

 jps-扩展

jps 是 Java Virtual Machine Process Status Tool 的缩写,它用于显示当前正在运行的 Java 进程的信息,包括进程 ID 和进程的类名或 JAR 文件名。

以下是 jps 命令的一些常见用法:

1. jps :显示当前正在运行的 Java 进程的进程 ID 和类名或 JAR 文件名。

进入到jdk的bin路径下

.jps

2. jps -l :显示当前正在运行的 Java 进程的进程 ID 和完整的主类名(包括包路径)或 JAR 文件路径。

3. jps -m :显示当前正在运行的 Java 进程的进程 ID、主类名或 JAR 文件名,以及传递给主类的参数。

4. jps -v :显示当前正在运行的 Java 进程的进程 ID、主类名或 JAR 文件名,以及传递给主类的参数和虚拟机参数。

5. jps -q :仅显示当前正在运行的 Java 进程的进程 ID,不显示类名或 JAR 文件名。

tar解压 

tar -zxvf 压缩文件名.tar.gz

tar -zxvf example.tar.gz -C /path/to/destination/directory/

命令分解说明:

tar: 表示使用tar工具。

-z: 选项指示tar在解压过程中使用gzip解压缩算法。

-x: 选项表示执行解压操作(extract)。

-v: (可选)增加详细输出,显示解压过程中的文件名。

-f: 指定后续跟的是要操作的档案文件名。

nohup 守护进程运行应用

nohup 是一个在类 Unix 操作系统(如 Linux 和 macOS)中广泛使用的命令,全称是 "no hang up",即“不挂断”。它的主要目的是允许用户在终端断开连接或注销账户后,仍然能够让指定的命令或程序在后台继续运行,不受 SIGHUP(挂起)信号的影响。

nohup java -jar your-project.jar &

如果你想要将输出重定向到一个日志文件,可以这样做:

nohup java -jar your-project.jar > /tmp/wms.log 2>&1 &

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1531063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考 网工 每日学习打卡 2024/3/19

学习内容 第8章 网络安全 本章主要讲解网络安全方面的基础知识和应用技术。针对考试应该掌握诸如数据加密、报文认 证、数字签名等基本理论,在此基础上深入理解网络安全协议的工作原理,并能够针对具体的 网络系统设计和实现简单的安全解决方案。 本章共有…

C++ —— 类和对象(终)

目录 1. 日期类的实现 1.1 前置 和 后置 重载 1.2 >> 和 << 的重载 2. const 成员 3. 取地址及const取地址操作符重载 4. 再谈构造函数 4.1 构造函数体赋值 4.2 初始化列表 4.3 隐式类型转换 4.4 explict 关键字 5. static 成员 5.1 概念 5.2 特性 …

Java 的强引用、弱引用、软引用、虚引用

1、强引用&#xff08;StrongReference&#xff09; 强引用是使用最普遍的引用。如果一个对象具有强引用&#xff0c;那垃圾回收器绝不会回收它。如下&#xff1a; Object onew Object(); // 强引用 当内存空间不足&#xff0c;Java虚拟机宁愿抛出OutOfMemoryError错误&am…

Java多线程实战-CompletableFuture异步编程优化查询接口响应速度

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️本系列源码仓库&#xff1a;多线程并发编程学习的多个代码片段(github) &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正…

Spring 6.0和SpringBoot 3.0有什么新特性?

Spring在2022年相继推出了Spring Framework 6.0和SpringBoot 3.0&#xff0c;Spring把这次升级称之为新一代框架的开始&#xff0c;下一个10年的新开端 一、问题解析 主要更新内容是以下几个&#xff1a; ● A Java 17 baseline ● Support for Jakarta EE 10 with an EE 9 ba…

永磁同步电机无位置传感器系列(1)——非线性磁链观测器的仿真复现过程

无位置传感器控制&#xff0c;这个方向也是电机控制里面的大热门了。最近在看PLL&#xff0c;中国电机有一篇ESO-PLL获得了23年的高影响力论文&#xff0c;标题如下。因为这篇ESO-PLL需要用到下面这篇英文文献的转子位置观测器&#xff0c;想着就先把这个观测器的文章给复现了。…

【工具】vscode终端打不开

问题 1The terminal process failed to launch: A native exception occurred during launch (forkpty(3) failed.). 参考方案 下面参考链接是针对windows系统上vscode 出现的相同问题的解答 参考链接&#xff1a;https://blog.csdn.net/weixin_40921421/article/details/122…

农业四情监测设备—全面、准确地收集农田环境数据

型号推荐&#xff1a;云境天合TH-Q3】农业四情监测设备是一种高科技的农田监测工具&#xff0c;旨在实时监测和管理农田中的土壤墒情、作物生长、病虫害以及气象条件。这些设备综合运用了传感器、摄像头、气象站等技术手段&#xff0c;能够全面、准确地收集农田环境数据&#x…

机器学习之客户违约预测模型搭建之原理篇

前言 这一章主要介绍机器学习在金融领域一个重要应用&#xff1a;客户违约预测模型的搭建&#xff0c;其所用到原理为机器学习中的决策树模型。通过本章的学习&#xff0c;您能了解在信息时代下金融风险控制的新手段&#xff0c;并对机器学习有一个初步的了解。 1. 机器学习在…

【JavaScript】JavaScript 运算符 ⑤ ( 运算符优先级 )

文章目录 一、JavaScript 运算符优先级1、运算符优先级 概念2、运算符优先级 列举3、运算符示例 一、JavaScript 运算符优先级 1、运算符优先级 概念 JavaScript 的 运算符 是有 " 优先级 " 的 , " 运算符优先级 " 决定 一个表达式中 多个 运算符的 执行顺…

【每日一题】好子数组的最大分数

Tag 【单调栈】【暴力枚举】【数组】【2024-03-19】 题目来源 1793. 好子数组的最大分数 解题思路 本题和 84. 柱状图中最大的矩形 一样&#xff0c;计算的都是最大矩形的面积。只不过多了一个约束&#xff1a;矩形必须包含下标 k。 以下的方法一和方法二是 84. 柱状图中最…

你还在花钱看短剧吗?这些人做短剧推广已经通过短剧赚钱了

短剧分销&#xff0c;简单来说&#xff0c;就是你在抖音、快手、小红书等短视频平台浏览时看到的一半时&#xff0c;指引你去其他平台观看完整版的操作。 而使用“蜂小推”做短剧推广&#xff0c;你也能利用短剧快速致富~ 想要进行短剧分销&#xff0c;你需要经过一系列步骤&a…

23.python标准库之turtle库

一、窗体函数 turtle.setup(width, height, startx, starty) width:窗口宽度 height:窗口高度 startx:窗口与屏幕左侧距离&#xff08;单位象素&#xff09; starty:窗口与屏幕顶部距离&#xff08;单位象素&#xff09; 二、画笔状态函数 三、画笔运动函数

理清大数据技术与架构

大数据并不是一个系统软件&#xff0c;更不是一个单一的软件&#xff0c;它实际上是一种技术体系、一种数据处理方法&#xff0c;甚至可以说是一个服务平台。在这个技术体系中&#xff0c;涵盖了许多不同的部件&#xff0c;比如Hadoop服务平台。这一服务平台可以根据具体情况自…

Mybatis-Plus通用枚举介绍和使用

本文使用的是 Mybatis-Plus 从 3.4.2 版本来实现通用枚举配置&#xff0c;不同的版本&#xff0c;通用枚举配置会不一样&#xff0c;而且从Mybatis-Plus 从 3.5.2 版本开始只需使用 EnumValue 注解枚举属性&#xff0c;就可以实现一系列功能&#xff0c;而不需要其他配置。 这…

【python】python结合js逆向,让有道翻译成为你的翻译官,实现本地免费实时翻译

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者等等。 🏆《博客》:Python全栈,前后端开发,人工智能,js逆向,A…

Spring Cloud 整合 GateWay

目录 第一章 微服务架构图 第二章 Spring Cloud整合Nacos集群 第三章 Spring Cloud GateWay 第四章 Spring Cloud Alibaba 整合Sentinel 第五章 Spring Cloud Alibaba 整合SkyWalking链路跟踪 第六章 Spring Cloud Alibaba 整合Seata分布式事务 第七章 Spring Cloud 集成Auth用…

Jenkins通知目标服务器拉取Harbor镜像部署

1.告诉目标服务器拉取哪个镜像 2.判断当前有没有正在运行此容器&#xff0c;有就删除 3.接着查看拉取的镜像目标服务器上是否已存在&#xff0c;有就删除 4.拉取Harbor镜像 5.运行容器 目标服务器编写脚本 创建个部署脚本 vim deploy.sh告诉目标服务器Harbor地址、仓库、镜像…

零基础学python:5、循环语句的使用

循环 目标 程序的三大流程while 循环基本使用break 和 continuewhile 循环嵌套01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行代码分支 —— 根据条件判断,决定执行代码的 分支循环 —— 让 特定代码 重复 执行02. while 循环基本使用…

基于卷积神经网络实现手写数字识别

基于卷积神经网络实现手写数字识别 基于卷积神经网络实现手写数字识别。具体过程如下&#xff1a; &#xff08;1&#xff09; 定义ConvNet结构类及其前向传播方式 &#xff08;2&#xff09; 设置超参数以及导入相关的包。 &#xff08;3&#xff09; 定义训练网络函数和绘…