返回顶部
首页 > 资讯 > 操作系统 >linux中的进程是什么意思
  • 405
分享到

linux中的进程是什么意思

2023-06-21 22:06:56 405人浏览 安东尼
摘要

本篇内容介绍了“linux中的进程是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!进程是运行在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(僵死状态)——标记为 <defunct> 的进程是僵死的进程,它们之所以残留是因为它们的父进程适当地销毁它们。如果父进程退出,这些进程将被 init 进程销毁。

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

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

例如:

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

“linux中的进程是什么意思”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: linux中的进程是什么意思

本文链接: https://lsjlt.com/news/300926.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux中的进程是什么意思
    本篇内容介绍了“linux中的进程是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!进程是运行在Linux中的程序的一个实例,是管理事...
    99+
    2023-06-21
  • linux中线程是什么意思
    这篇文章主要为大家展示了“linux中线程是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中线程是什么意思”这篇文章吧。在linux中,线程(thread)指的是程序内部的一个...
    99+
    2023-06-21
  • linux中的pwd是什么意思
    本篇内容主要讲解“linux中的pwd是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中的pwd是什么意思”吧!linux pwd是一种用于显示工作目录的命令,执行pwd指令可...
    99+
    2023-06-21
  • linux中的vim是什么意思
    这篇文章主要介绍“linux中的vim是什么意思”,在日常操作中,相信很多人在linux中的vim是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中的vim是什么意思”的疑惑有所帮助!接下来...
    99+
    2023-06-25
  • linux中的vps是什么意思
    VPS(Virtual Private Server)是一种虚拟化技术,它在一台物理服务器上创建多个独立的、可隔离的虚拟服务器实例。...
    99+
    2023-08-24
    Linux
  • linux中Blocks是什么意思
    这篇文章主要介绍了linux中Blocks是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。linux中Blocks是什么意思什么是Blocks Disk /dev/h...
    99+
    2023-06-13
  • Linux中uGet是什么意思
    这篇文章主要为大家展示了“Linux中uGet是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中uGet是什么意思”这篇文章吧。功能强大下载管理器在Linux平台并不常见,不过...
    99+
    2023-06-16
  • linux中sshd是什么意思
    这篇文章将为大家详细讲解有关linux中sshd是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在linux中,sshd是一个客户端软件,是可以通过网络在主机中开启shell的服务;sshd服务使...
    99+
    2023-06-29
  • linux中pfn是什么意思
    这篇文章将为大家详细讲解有关linux中pfn是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在linux中,pfn全称“page frame number”,是物理内存区域编号。“page fr...
    99+
    2023-06-29
  • linux中mem是什么意思
    这篇文章主要介绍了linux中mem是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在linux中,mem是物理内存;当物理内存即将溢出时,会将内存中不常用的内存转移...
    99+
    2023-06-29
  • linux中dash指的是什么意思
    这篇文章主要为大家展示了“linux中dash指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中dash指的是什么意思”这篇文章吧。在linux中,dash是一个基于web...
    99+
    2023-06-22
  • linux中bash指的是什么意思
    这篇文章主要介绍linux中bash指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!linux bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令;Bash还能从文件中读取命令,这...
    99+
    2023-06-25
  • linux中qt指的是什么意思
    小编给大家分享一下linux中qt指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在linux中,Qt是一个综合性跨平台的C++图形用户界面应用程序开...
    99+
    2023-06-29
  • Linux中i386指的是什么意思
    在Linux中,i386代表Intel 80386处理器的体系结构。i386是一种32位的处理器架构,它是第一代x86架构的一部分。...
    99+
    2023-10-25
    Linux
  • 进程管理器中的chrome.exe *32是什么意思?
    在64位的 Windows 中,你可能会发现带有*32后缀的进程名,尤其是 chrome.exe *32(如下图),这代表什么意思呢? 64位的 Windows 中包含了32位应用程序的运行环境,可以让64位和32位的应...
    99+
    2023-06-16
    进程管理器 chrome.exe exe 意思 chrome 管理器 进程
  • 在Linux中TTY是什么意思
    本篇内容介绍了“在Linux中TTY是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!TTY 在Linux中,TTY也许是跟终端有关系...
    99+
    2023-06-13
  • Linux中/proc/meminfo是什么意思
    这篇文章主要为大家展示了“Linux中/proc/meminfo是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中/proc/meminfo是什么意思”这篇文章吧。Linux ...
    99+
    2023-06-25
  • linux的header是什么意思
    linux的header是指在文件或数据流中的开头部分,用于包含关于内容的元数据,通过正确地编写和使用Header文件,开发者能够更好地利用系统资源,提高代码的可读性和可维护性。本文操作环境:linux 5.18.14系统、DELL G3电...
    99+
    2023-07-18
  • in在linux中指的是什么意思
    这篇文章主要为大家展示了“in在linux中指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“in在linux中指的是什么意思”这篇文章吧。in在linux中的意思是“创建链接”,in...
    99+
    2023-06-22
  • linux中挂载指的是什么意思
    小编给大家分享一下linux中挂载指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在linux中,挂载是linux本身的文件目录与硬件设备的文件目录合...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作