linux中进程什么意思

进程是运行在Linux中的程序的一个实例,是管理事务的基本单元;进程拥有自己独立的处理环境和系统资源。进程的状态是变化的,其包括进程的创建、调度和消亡。

linux中进程什么意思

本教程操作环境:linux5.9.8系统、Dell G3电脑。

进程是运行在 Linux 中的程序的一个实例。

在 Linux 系统中,操作系统是通过进程去完成一个一个的任务,进程是管理事务的基本单元。进程拥有自己独立的处理环境(如:当前需要用到哪些环境变量,程序运行的目录在哪,当前是哪个用户在运行此程序等)和系统资源(如:处理器 CPU 占用率、存储器、I/O设备、数据、程序)。

当你在 Linux 系统中执行一个程序时,系统会为这个程序创建特定的环境。这个环境包含系统运行这个程序所需的任何东西。

每当你在 Linux 中执行一个命令,它都会创建,或启动一个新的进程。比如,当你尝试运行命令“ls -l”来列出目录的内容时,你就启动了一个进程。如果有两个终端窗口显示在屏幕上,那么你可能运行了两次同样的终端程序,这时会有两个终端进程。

每个终端窗口可能都运行了一个 Shell,每个运行的 Shell 都分别是一个进程。当你从 Shell 调用一个命令时,对应的程序就会在一个新进程中执行,当这个程序的进程执行完成后,Shell 的进程将恢复运行。

操作系统通过被称为 PID 或进程 ID 的数字编码来追踪进程。系统中的每一个进程都有一个唯一的 PID。

现在我们通过一个实例来了解 Linux 中的进程。我们在 Shell 命令行下执行如下命令:

$ sleep 10 &[1] 3324

因为程序会等待 10 秒,所以我们快速地在当前 Shell 上查找任何进程名为 sleep 的进程:

$ ps -ef | grep sleepmozhiyan  3324  5712  cons1  17:11:46  /usr/bin/sleep

我们看到进程名为 /usr/bin/sleep 的进程正运行在系统中(其 PID 与我们在上一命令中得到的 PID 相同)。

现在,我们尝试并行地从 3 个不同的终端窗口运行上述的 sleep 命令,上述命令的输出将类似如下所示:

$ ps -ef | grep sleepmozhiyan  896   5712  cons1  17:16:51  /usr/bin/sleepmozhiyan  5924  5712  cons1  17:16:52  /usr/bin/sleepmozhiyan  2424  5712  cons1  17:16:50  /usr/bin/sleep

我们看到 sleep 程序的每一个实例都创建了一个单独的进程。

每个 Linux 进程还有另一个 ID 号码,即父进程的 ID(ppid)。系统中的每一个用户进程都有一个父进程。

命令“ps -f”就会列出进程的 PID 和 PPID。此命令的输出类似如下所示:

$ ps -f   UID     PID   PPID    TTY       STIME      COMMANDmozhiyan  4124   228    cons0    21:37:09   /usr/bin/psmozhiyan   228   1      cons0    21:32:23   /usr/bin/bash

你在 Shell 命令行提示符下运行的命令都把当前 Shell 的进程作为父进程。例如,你在 Shell 命令行提示符下输入 ls 命令,Shell 将执行 ls 命令,此时 Linux 内核会复制 Shell 的内存页,然后执行 ls 命令。

在 Unix 中,每一个进程是使用 fork 和 exec 方法创建的。然而,这种方法会导致系统资源的损耗。

在 Linux 中,fork 方法是使用写时拷贝内存页实现的,所以它导致的仅是时间和复制父进程的内存页表所需的内存的损失,并且会为子进程创建一个唯一的任务结构。

写时拷贝模式在创建新进程时避免了创建不必要的结构拷贝。例如,用户在 Shell 命令行提示符下输出 ls 命令,Linux 内核将会创建一个 Shell 的子进程,即 Shell 的进程是父进程,而 ls 命令的进程是子进程,ls 命令的进程会指向与此 Shell 相同的内存页,然后子进程使用写时拷贝技术执行 ls 命令。

进程的状态

每个 Linux 进程都有它自己的生命周期,比如,创建、执行、结束和清除。每个进程也都有各自的状态,显示进程中当前正发生什么。进程的状态是变化的,其包括进程的创建、调度和消亡。

进程可以有如下几种状态:

D(不可中断休眠状态)——进程正在休眠并且不能恢复,直到一个事件发生为止。

R(运行状态)——进程正在运行。

S(休眠状态)——进程没有在运行,而在等待一个事件或是信号。

T(停止状态)——进程被信号停止,比如,信号 SIGINT 或 SIGSTOP。

Z(僵死状态)——标记为 的进程是僵死的进程,它们之所以残留是因为它们的父进程适当地销毁它们。如果父进程退出,这些进程将被 init 进程销毁。

若要查看指定进程的状态,可以使用如下命令:

ps -C processName -o pid=,cmd,stat

例如:

$ ps -C sleep -o pid=,cmd,stat      CMD       STAT9434 sleep 20    S

相关推荐:《Linux视频教程》

以上就是linux中进程什么意思的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/155479.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月4日 10:30:36
下一篇 2025年12月4日 11:03:34

相关推荐

  • Java中volatile关键字的作用 剖析Java volatile保证可见性的原理

    volatile关键字在java中主要用于保证多线程环境下共享变量的可见性。1. 它通过禁止指令重排序,确保对volatile变量的写操作发生在读操作之前;2. 强制刷新缓存,使修改立即写入主内存,并让其他线程强制从主内存读取最新值。但volatile不能保证原子性,例如i++这样的复合操作仍需sy…

    2025年12月5日 java
    000
  • linux修改用户密码的方法是什么

    linux修改用户密码的方法:首先用CRT软件连接Linux系统,并查看登录用户信息;然后若修改root自己的密码,直接输入passwd;最后若修改其他用户,如oracle的密码,可直接输入passwd oracle。 本教程操作环境:linux7.3系统,SecureCRT 8.7.1绿色版,DE…

    2025年12月5日 运维
    000
  • 如何在Laravel中实现定时任务

    在laravel中实现定时任务,核心思路是利用框架的调度器集中管理任务,并通过服务器cron每分钟触发一次调度器执行。1. 创建命令:使用 php artisan make:command 生成命令类并编写业务逻辑;2. 注册任务:在 app/console/kernel.php 的 schedul…

    2025年12月5日
    000
  • 联发科展望2029:数据中心市场规模将超万亿美元

    联发科昨日在深圳举办天玑开发者大会(mddc 2025),聚焦ai(人工智能)技术和产业变革趋势,联发科总经理暨营运长陈冠州表示,「这一年ai发展很快,预计二○二九年数据中心投资规模将超过一万亿美元。」 陈冠州强调,AI处理器已化形成各项产品中的智能体,除了手机之外,还包括人型机器人、冰箱、家电、汽…

    2025年12月5日
    000
  • linux查看文件大小的方法是什么

    linux查看文件大小的方法:1、使用stat命令查看文件系统的详细信息显示;2、利用wc指令计算文件的Byte数等等;3、使用du命令查看使用空间;4、ls命令用来显示目标列表。 本教程操作环境:linux7.3系统,DELL G3电脑。 linux查看文件大小的方法: 一、stat命令 stat…

    2025年12月5日
    000
  • Mac上打不开exe文件怎么办_Mac运行Windows程序的多种方法

    需使用虚拟机、Wine或CrossOver在Mac上运行.exe文件。首先可安装Parallels或VMware并部署Windows系统;其次可通过Homebrew安装Wine命令行工具直接调用.exe文件;最后可选用CrossOver图形化软件,导入.exe文件自动配置环境并运行程序。 如果您尝试…

    2025年12月5日
    000
  • 怎么使用 Yocto 构建文件系统?

    简介 yocto项目采用一种更加强大和定制的途径来构建适合嵌入式产品的linux系统。yocto不仅仅是一个制作文件系统的工具,同时提供了一整套基于linux的开发和维护工作流程,使得底层嵌入式开发者和上层应用开发者可以在统一的框架下进行开发,解决了传统开发方式下零散和无管理的开发问题。 Yocto…

    2025年12月5日 运维
    000
  • linux系统关机命令是什么

    linux系统关机命令:1、“shutdown -h now”或“shutdown -p now”;2、“halt”或“halt -p”;3、“poweroff”或“poweroff –halt”;4、“reboot -p”。 本教程操作环境:Red Hat Enterprise Lin…

    2025年12月5日
    000
  • Java中JMH的作用 解析微基准测试

    我们需要使用jmh进行微基准测试,因为传统方法易受jvm优化影响导致结果不准确。1. jmh通过预热、多次迭代等机制规避偏差;2. 提供注解如@benchmark、@setup精细控制测试;3. 使用blackhole防止死代码消除;4. 支持多jvm进程隔离测试干扰;5. 提供参数化测试、状态共享…

    2025年12月5日 java
    000
  • unix和linux的区别是什么

    unix和linux的区别:1、UNIX是商业化的,而Linux是开源的,是免费、公开源代码的;2、UNIX系统大多是与硬件配套的,也就是说无法安装在x86服务器和个人计算机上的,而Linux则可以运行在多种硬件平台上。 本教程操作环境:linux7.3系统,DELL G3电脑。 unix和linu…

    2025年12月5日
    000
  • linux怎么查看磁盘空间

    linux查看磁盘空间的方法:1、使用df命令,可以查看文件系统,并获取硬盘被占用了多少空间,目前还剩下多少空间等信息。2、使用du命令,可以显示磁盘空间的使用情况。 本教程操作环境:Red Hat Enterprise Linux 6.1系统、Dell G3电脑。 1、使用df命令 df 以磁盘分…

    2025年12月5日
    000
  • 谷歌浏览器如何关闭后台运行进程?

    一些用户可能会发现,即使关闭了所有谷歌浏览器窗口,其进程依然在系统后台运行,这会持续占用一定的内存和处理器资源。这种情况通常是因为浏览器默认开启了后台应用运行模式,以支持通知和应用的快速启动。本文将指导您如何通过修改浏览器设置来彻底关闭后台运行进程,并介绍如何使用浏览器自带的任务管理器来处理当前运行…

    2025年12月5日
    000
  • linux怎么查看历史命令

    linux查看历史命令可以使用history命令,该命令可以列出所有已键入的命令。用户所键入的命令都会记录在文件中,该文件保存在当前登录用户的家目录中。 本文操作环境:centos 7系统、thinkpad t480电脑。 在Linux环境中可以通过方向键的上下按键查看近期键入的命令。但这种方法只能…

    2025年12月5日
    000
  • linux压缩命令是什么

    linux压缩命令有gzip、bzip和xz三种。其中,gzip压缩速度最快,是应用最广泛的压缩方式,xz是最新的压缩方式,可以自动提供最佳的压缩率。 本文操作环境:centos7系统、thinkpad t480电脑。 linux主要有三种压缩方式: 1、gzip:是公认的压缩这速度最快,压缩大文件…

    2025年12月5日 运维
    000
  • 如何在Laravel中配置会话管理

    在%ignore_a_1%中配置会话管理,1. 修改config/session.php文件;2. 根据需求调整.env环境变量;3. 选择合适的会话驱动如file、database、redis;4. 设置生命周期和安全性选项。核心在于通过config/session.php定义会话行为,包括驱动、…

    2025年12月5日
    000
  • linux中cp命令如何复制文件

    在linux中,可以使用cp命令复制文件,将源文件或目录复制到指定的目的文件或目录;它可以将单个源文件复制成一个指定文件名的具体文件或一个已经存在的目录下;该命令支持同时复制多个文件。 本教程操作环境:centos7系统、thinkpad t480电脑。 cp的命令格式 以移动文件1234.txt为…

    2025年12月5日 运维
    000
  • linux开启端口命令

    linux开启端口的命令是【firewall-cmd –zone=public –add-port=1935/tcp –permanent】。需要注意的是,我们在开启指定端口后需要重启防火墙。 本文操作环境:centos 7系统、thinkpad t480电脑。 …

    2025年12月5日
    000
  • 为什么谷歌浏览器总是提示“网页无响应”?

    当您在浏览网页时,谷歌浏览器弹出“网页无响应”的提示,意味着当前的标签页已经停止响应,无法进行任何操作,这无疑会中断您的工作流程。这个问题通常不是由单一原因引起的,它可能与特定网页的脚本、过多的后台活动、扩展程序冲突或浏览器缓存有关。本文将分析导致此问题的几个主要因素,并提供相应的排查和解决方法,帮…

    2025年12月5日
    000
  • dos2unix命令解决 Shell 脚本无法执行的问题

    大家好,又见面了,我是你们的朋友全栈君。 解决问题 在执行脚本时,报了以下错误: -sh: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory 出现上述类似的错误,原因是脚本在Windows下编辑后上传到Linux系统…

    2025年12月5日 运维
    000
  • win11系统要求检测工具_Win11升级兼容性官方检测工具下载

    使用微软PC Health Check工具可全面检测设备是否符合Windows 11升级要求,涵盖处理器、内存、TPM等关键指标。2. Win11SysCheck为开源轻量工具,无需安装,能详细提示不兼容原因,如TPM 2.0未启用。3. WhyNotWin11是第三方高效检测工具,支持Win7以上…

    2025年12月5日
    000

发表回复

登录后才能评论
关注微信