zoukankan      html  css  js  c++  java
  • Linux

    标签(空格分隔): Linux


    进程的静态查看

    查看系统所有进程

    • ps -ef -- 输出来好乱,看不懂..;
    • ps aux -- a表示所有与终端相关的进程,u表示所有以用户组织的进程状态的信息,x表示与终端无关的所有进程;
    • ps -lA
    • ps -l -- 只查看与shell有关的进程(即在shell上通过命令或者可执行程序创建的进程)
    • ps -lU username 或者 ps -fU username-- 只查看特定用户的进程
    • ps -C 命令 -- 只查看发出某个命令产生的所有进程
    • ps -L 进程号 -- 查看某个进程的线程
    • ps -eLf 或者 ps -lLA -- 查看所有进程(包括线程信息)

    1. ps -lA

    • UID. 表示进程被哪个用户所拥有;
    • PID. 进程的ID;
    • PPID. 进程的父进程的ID;
    • F. 进程标志。4表示此进程有root权限;
    • S. 进程状态。进程的主要状态有:R表示可运行的进程,包括正在运行的进程以及就绪队列中的进程;S表示该进程处于可中断的睡眠状态(等待某一时间的发生或等待某种信号的唤醒);D表示该进程处于不可中断的睡眠状态(不能被信号唤醒,比如等待IO);T表示该进程处于停止状态(不是终止,只是在后台暂停,有作业控制信号导致);Z表示该进程处于僵尸状态(进程已经停止,但是父进程未回收该进程资源);
    • C. 该进程使用的CPU的百分比;
    • PRI. Priority,表示进程的优先级,数值越小,优先级越高;
    • NI. Nice,同样表示进程的优先级,数值越小,优先级越高;
    • ADDR. 表示kernel function,指出该进程在内存中的哪个部分;
    • SZ. 表示该进程使用的内存大小;
    • WCHAN. 睡眠的进程等待的事件。如果正在运行,则显示 - ;
    • TTY. 该进程使用哪个命令行终端;
    • TIME. 该进程实际使用CPU的时间;
    • CMD. 该进程由哪个命令所触发。

    此处输入图片的描述

    2. ps aux

    • VSZ. 该进程使用掉的虚拟内存的大小;
    • RSS. 该进程使用掉的内存大小;
    • STAT. 该进程的状态,与S一致;
    • STARTED. 该进程被触发启动的时间
    • ps aux --sort -pcpu, -pmem -- 排序显示,按CPU使用率从大到小排序,CPU使用率相同则按照内存使用率大小排序

    此处输入图片的描述

    进程的动态查看

    使用top命令。

    • top -b -n 2 > file.out -- 以批次方式执行(此时是静态结果),执行2此,并将结果写入文件。

    进程的管理

    一般是通过信号来管理进程。

    • kill -l -- 查看所支持的信号;
    • SIGINT。2号信号,相当于ctr + c来终止一个进程的执行;
    • SIGKILL。9号信号,强制终止一个进程;
    • SIGSTOP。17号信号,相当于ctr + z 来暂停一个进程的执行,常用来暂停后台进程的执行。
    • 给予特定进程一个信号:
    • kill -9 进程号 或者 kill -SIGSTOP 进程号

    进程优先级调整

    进程的优先级由内核动态指定,即Priority的值。Priority的值越小,则优先级越高。但是用户是不能随意指定Priority的值的,因此Linux操作系统引入了Nice,取值范围为:[-20, 19],用户可以通过指定Nice的值来调整进程的优先级,二者的关系为:

    Priority(new) = Priority(old) + Nice
    

    但并非用户修改了一个进程的Nice指标后,Priority的值就会根据上面的关系式改变。内核会进行分析,最终才能决定最后的Priority的值。

    • nice -n n command -- 执行新命令并赋予Nice值
    • renice n 进程ID -- 对已经存在的进程赋予新的Nice值

    查看进程打开的文件

    • lsof -u 用户名 -- 显示特定用户的所有进程各自打开的文件
    • lsof -p 进程ID -- 显示某个进程打开的文件
    • lsof +d 目录路径 -- 显示某个目录下面所有被打开的文件
    • lsof +D 目录路径 -- 递归显示某个目录下的所有被打开的文件

    查找正在执行的某个命令或者可执行程序的进程ID

    • pidof -- 正在执行的可执行程序的路径或命令

  • 相关阅读:
    [leetcode]687. Longest Univalue Path
    [leetcode]543. Diameter of Binary Tree二叉树的直径
    [LeetCode]Subtree of Another Tree判断一棵树是不是另一棵树的子树
    [leetcode]508. Most Frequent Subtree Sum二叉树中出现最多的值
    [leetcode]450. Delete Node in a BST二叉搜索树删除节点
    [LeetCode]652. Find Duplicate Subtrees找到重复树
    MySQL 数据库
    javaScript
    Css 笔记
    Html 笔记
  • 原文地址:https://www.cnblogs.com/little-YTMM/p/5906779.html
Copyright © 2011-2022 走看看