Linux---进程

文章目录


一.Linux中进程的概念

        在Linux中,进程是指操作系统中正在执行的程序的实例。每个进程都由操作系统分配了独立的内存空间,用于存储程序的指令、数据和运行时的堆栈等信息。进程之间相互独立,彼此不会直接影响。

        Linux操作系统使用进程来实现多任务执行。进程可以执行各种不同的任务,包括运行用户应用程序、执行系统服务以及管理系统资源等。每个进程都有自己的唯一标识符(PID),可以通过PID来识别和管理进程。

        进程之间可以通过进程间通信(IPC)机制进行相互通信和数据交换。常用的IPC机制包括管道、消息队列、共享内存和信号等。

进程的运行状态:

Linux中,进程有以下几种状态:

  1. 运行态(Running):正在执行的进程。

  2. 就绪态(Ready):等待CPU执行的进程。

  3. 僵尸态(Zombie):已经结束,但是父进程还没有回收资源的进程。

  4. 停止态(Stopped):因为某种原因暂停执行的进程,例如收到了信号SIGSTOP。

磁盘,内存,CPU的区别

  • CPU是中央处理器的核心,负责处理各种计算任务和进程。
  • 内存又称运行内存,是服务器用于正在运行的程序,进程和数据的地方。
  • 硬盘用于存储数据和文件。

二.显示系统执行的进程

2.1: ps 命令

ps命令用于显示当前系统正在执行的进程,常用的参数:

-e:显示当前系统正在执行的权限
-f:显示进程的详细信息,包括进程的PID,父进程PID,进程状态等
-u:显示指定用户的进程

示例代码:

[root@localhost1 ~]# ps -ef

#按照CPU使用率进行升序排序
ps -aux --sort %cpu

#按照cpu使用率降序排序
ps -aux --sort -%cpu

示例输出:

UID          PID    PPID  C STIME TTY          TIME CMD
root           2       0  0 11:58 ?        00:00:00 [kthreadd]
root           3       2  0 11:58 ?        00:00:00 [rcu_gp]
root           4       2  0 11:58 ?        00:00:00 [rcu_par_gp]
root           5       2  0 11:58 ?        00:00:00 [netns]
root           7       2  0 11:58 ?        00:00:00 [kworker/0:0H-events_highpri]
root           9       2  0 11:58 ?        00:00:00 [kworker/0:1H-events_highpri]

在上面1输出中,每一列的含义如下:

  • UID:进程所属于的用户 
  • PID:表示用户的进程
  • PPID:父进程的PID
  • C:CPU的使用情况,表示进程在CPU上占用的时间
  • STIME:进程的启动时间
  • TTY:进程所在的终端
  • TIME:进程运行的时长
  • CMD:进程执行的命令

2.2 top 命令

top命令用于实时监控系统的性能和资源使用情况,并按照内存或CPU使用率进行排序。

示例代码:

[root@localhost1 ~]# top

 示例输出:

top - 15:51:20 up  3:52,  2 users,  load average: 0.00, 0.00, 0.03
Tasks: 303 total,   1 running, 297 sleeping,   4 stopped,   1 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.2 hi,  0.0 si,  0.0 st
MiB Mem :   1743.7 total,     83.1 free,   1418.2 used,    417.4 buff/cache
MiB Swap:   2048.0 total,   1703.2 free,    344.8 used.    325.5 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  36220 mysql     20   0 1775464 430940  36396 S   0.7  24.1   0:22.88 mysqld
  36424 root      20   0       0      0      0 I   0.3   0.0   0:01.56 kworker/0:2-pm
  36438 root      20   0  226140   4412   3440 R   0.3   0.2   0:00.05 top
      1 root      20   0  174376  13572   6052 S   0.0   0.8   0:01.37 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.02 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns

 示例输出的上半部分含义如下:

  • 当前时间:15:51:20
  • 系统运行时间:3小时52分钟
  • 当前有2个用户登录系统
  • 运行队列的平均负载情况:最近1分钟内的平均负载为0.00,最近5分钟内的平均负载为0.00,最近15分钟内的平均负载为0.03
  • 任务情况:总共有303个任务,其中有1个正在运行,297个正在睡眠,4个被暂停,1个为僵尸进程
  • CPU使用率情况:用户空间占用CPU时间为0.0%,内核空间占用CPU时间为0.0%,改变过优先级进程占用CPU时间为0.0%,空闲CPU时间为99.8%,等待磁盘I/O操作占用CPU时间为0.0%,硬件中断占用CPU时间为0.2%,软中断占用CPU时间为0.0%,虚拟化占用CPU时间为0.0%
  • 内存使用情况:总共有1743.7 MiB内存,其中有83.1 MiB空闲,1418.2 MiB被使用,417.4 MiB被用作缓存
  • 交换空间使用情况:总共有2048.0 MiB交换空间,其中有1703.2 MiB空闲,344.8 MiB被使用,325.5 MiB可用于内存回收

下半部分含义:

三.终止进程 

3.1 kill命令

kill 命令用于终止进程

示例代码:

[root@localhost1 ~]# kill 添加PID


总结

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北 染 星 辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值