首页 > 系统相关 >Linux的学习与使用(进程管理)

Linux的学习与使用(进程管理)

时间:2024-06-23 15:55:46浏览次数:29  
标签:PID echo 学习 Linux 进程 ID proc CPU

命令学习

(一)ps命令

1.ps显示当前终端会话的进程。

2.ps aux显示系统上所有进程的详细信息。

Name Description Example(图中第一行)
USER 进程的所有者 root
PID 进程ID 1
%CPU 进程占用的CPU百分比 0.2
%MEM 进程占用的内存百分比 0.2
VSZ 进程使用的虚拟内存量 100884
RSS 进程使用的物理内存量 11736
TTY 进程的终端
STAT 进程状态 Ss
START 进程启动时间 16:15
TIME 进程使用的CPU时间总和 0:02
COMMAND 启动进程的命令及参数 /sbin/init
3.ps f显示当前会话中的进程,并以树状格式展示父进程和子进程的关系。

举例
$ ps f
  PID TTY      STAT   TIME COMMAND
 1000 pts/0    Ss     0:00 /bin/bash
 1005 pts/0    S      0:00  \_ /usr/bin/python script.py
 1010 pts/0    S      0:00      \_ /usr/bin/python child_script.py
 1050 pts/0    R+     0:00          \_ ps f

/bin/bash (PID 1000) 是父进程。
/usr/bin/python script.py (PID 1005) 是 bash 的子进程。
/usr/bin/python child_script.py (PID 1010) 是 script.py 的子进程。
ps f (PID 1050) 是当前执行的命令,属于 child_script.py 的子进程。

4.ps -ef 使用标准格式显示所有进程的信息。

Name Description Example
UID 进程的用户ID root
PID 进程ID 1
PPID 父进程ID 0
C CPU使用率 0
STIME 进程启动时间 16:15
TTY 终端 ?
TIME 累积CPU时间 00:00:03
CMD 启动进程的命令及参数 /sbin/init

(二)pstree命令

pstree -p显示进程 PID

pstree -u显示用户 ID

(三)top命令

top实时显示正在运行的进程

Name Description
PID 进程ID
USER 用户名
PR 优先级
NI Nice值
VIRT 进程使用的虚拟内存总量(单位为 KB
RES 进程持有的物理内存总量(单位为 KB)
SHR 共享内存大小(单位为 KB)
S 进程状态
%CPU CPU 使用率
%MEM 内存使用率(RES)
TIME CPU 时间
COMMMAND 命令名称/行

(四)nicerenice

nice值是一个用来调整进程调度优先级的参数。调度优先级决定了操作系统在多任务环境中如何分配CPU时间给各个进程。nice值的范围通常是从-20到19:

-20:最高优先级,最“nice”给自己,抢占更多CPU时间。
0:默认优先级。
19:最低优先级,最“nice”给其他进程,让出更多CPU时间

nice -n 10 mycommand以nice值10启动mycommand进程

sudo renice -n 5 -p 1234将进程ID为1234的进程的nice值调整为5

(五)前台与后台进程

command & 将命令command启动的进程置于后台运行,控制台会立即返回,可以继续执行其他命令。
command:这是你想要执行的任何有效的Unix命令或脚本。例如,它可以是ls(列出目录内容)、sleep(暂停一段时间)、vim(打开文本编辑器)、python myscript.py(运行Python脚本)等等。
&:这个符号表示将command放在后台执行。终端会立即返回一个提示符,让你可以继续执行其他命令,而command将在后台运行

例如:sleep 60 &
这会启动一个sleep命令,让其在后台运行60秒

fg将最近一个被挂起或在后台运行的进程切换到前台。可以通过指定作业号切换特定进程到前台。

例如:fg %1
将作业号为1的进程切换到前台

bg将最近一个挂起的进程恢复为后台运行状态。可以通过指定作业号切换特定进程到后台

例如:bg %1
将作业号为1的进程恢复为后台运行

jobs列出当前的所有作业及其状态,包括前台、后台运行的进程和被挂起的进程
Ctrl + Z将当前在前台运行的进程挂起,并将其置于后台暂停状态
sleep 1000 &
jobs
fg %1
`Ctrl + Z`
jobs
bg %1

(六)kill 和 killall 向进程发送信号

killkillall都用于发送信号给进程,但kill是通过进程ID,而killall是通过进程名称

kill -9 12345发送SIGKILL信号强制终止进程ID为12345的进程

SIGTERM (15):终止进程(默认信号)。
SIGKILL (9):强制终止进程。
SIGHUP (1):挂起信号,通常用于重新加载配置文件。
SIGSTOP (19):暂停进程。
SIGCONT (18):继续进程。

killall -i myprocess交互模式终止进程,在终止每个名称为myprocess的进程前,询问确认

(七)利用/proc 文件系统查看进程信息

/proc 文件系统(也称为进程文件系统)是一个虚拟文件系统,它提供了有关系统和进程的详细信息。每个运行的进程在 /proc 目录中都有一个以其进程ID(PID)命名的子目录,包含关于该进程的各种信息。

command explanation
cat /proc/<PID>/cmdline 包含启动进程时的命令行参数
ls -l /proc/<PID>/cwd 符号链接,指向进程的当前工作目录
cat /proc/<PID>/environ 包含进程的环境变量
ls -l /proc/<PID>/exe 符号链接,指向进程执行的二进制文件
ls -l /proc/<PID>/fd 包含指向进程打开的文件描述符的符号链接
cat /proc/<PID>/maps 显示进程的内存映射
cat /proc/<PID>/status 包含关于进程的状态信息,包括内存使用、权限等
#!/bin/bash

# 检查是否提供了PID
if [ -z "$1" ]; then
    echo "Usage: $0 <PID>"
    exit 1
fi

PID=$1

# 查看进程命令行
echo "Command line:"
cat /proc/$PID/cmdline | tr '\0' ' '
echo -e "\n"

# 查看当前工作目录
echo "Current working directory:"
ls -l /proc/$PID/cwd
echo -e "\n"

# 查看环境变量
echo "Environment variables:"
cat /proc/$PID/environ | tr '\0' '\n'
echo -e "\n"

# 查看可执行文件
echo "Executable:"
ls -l /proc/$PID/exe
echo -e "\n"

# 查看打开的文件描述符
echo "Open file descriptors:"
ls -l /proc/$PID/fd
echo -e "\n"

# 查看内存映射
echo "Memory maps:"
cat /proc/$PID/maps
echo -e "\n"

# 查看进程状态
echo "Status:"
cat /proc/$PID/status
echo -e "\n"

/proc 文件系统提供了丰富的进程和系统信息,通过访问不同的文件,可以了解进程的各种状态和资源使用情况。

标签:PID,echo,学习,Linux,进程,ID,proc,CPU
From: https://www.cnblogs.com/orange-23/p/18199497

相关文章

  • 从零开始学习树莓派(二)
    树莓派的型号:RaspberryPiZero2w一、为树莓派系统更换源通上一部分的配置,我们已经可以正常的通过笔记本终端SSH连接到树莓派上了,接下来需要将树莓派的源更换为国内的源,便于更快的下载软件。但这里会遇到的问题是进度会一直卡在某个部分,出现如下的情况:这是由于树莓派内存不够......
  • linux 中 检测后台任务
     001、[root@PC1test2]#lstest.sh[root@PC1test2]#cattest.sh##脚本#!/bin/bashseq10000000000000000000000000000000000000&>/dev/null[root@PC1test2]#nohupbashtest.sh>log_Download2>&1&......
  • 进程切换分析(2):TLB处理
    一、前言进程切换是一个复杂的过程,本文不准备详细描述整个进程切换的方方面面,而是关注进程切换中一个小小的知识点:TLB的处理。为了能够讲清楚这个问题,我们在第二章描述在单CPU场景下一些和TLB相关的细节,第三章推进到多核场景,至此,理论部分结束。在第二章和第三章,我们从基本的逻辑......
  • 操作系统的发展史、多道技术、进程理论、进程的三状态、同步异步/阻塞与非阻塞、开启
    【操作系统发展史】1为什么要使用操作系统呢?2程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,3这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,4只需要考虑自己的应用软件的编写就可以了,应用软件......
  • React学习(一)
    React的详细解析:1.React的起源与背景React起源于Facebook的内部项目,旨在解决市场上JavaScriptMVC框架的不足之处。React的早期原型被称为“FaxJS”,由Facebook工程师JordanWalke开发,深受XHP(一个简单的PHPHTML组件框架)影响。React于2011年首次亮相,首次用于Facebook的Newsf......
  • Linux 中输出第一个空格或者制表符之前的所有内容
     001、方法1[root@PC1test2]#lsa.txt[root@PC1test2]#cata.txt010203040506070809101112131415161718192021222324252627282930[root@PC1test2]#grep"^\S\+"a.txt##测试数据0102030......
  • 海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFl
    一、介绍海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物('蛤蜊','珊瑚','螃蟹','海豚','鳗鱼','水母','龙虾','海蛞蝓','章鱼','水獭','企鹅',�......
  • Linux 中 grep -P参数的作用
     001、[root@PC1test2]#lsa.txt[root@PC1test2]#cata.txt##测试数据010203040506070809101112131415161718192021222324252627282930[root@PC1test2]#grep"^\S+"a.txt[roo......
  • linux防火墙常用命令
    注意使用命令出现如下表示权限不够,可以命令前加上sudo使用命令Authorizationfailed.Makesurepolkitagentisrunningorruntheapplicationassuperuser.授权失败。确保polkit代理正在运行或以超级用户身份运行应用程序。基础命令#启动防火墙......
  • Linux 中 grep -P 选项 perl正则 限制两侧进行匹配
     001、[root@PC1test3]#echo"Hello,mynameisaming."|grep-P'(?<=Hello,).*(?=aming.)'Hello,mynameisaming. 002、[root@PC1test3]#ifconfig|grep-P'(?<=inet).*(?=netmask)'inet192.168.184.128......