<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ 系统管理 - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ freeCodeCamp 是一个免费学习编程的开发者社区，涵盖 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等，还有活跃的技术论坛和丰富的社区活动，在你学习编程和找工作时为你提供建议和帮助。 ]]>
        </description>
        <link>https://www.freecodecamp.org/chinese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ 系统管理 - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/chinese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sun, 14 Jun 2026 05:02:27 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/chinese/news/tag/system-administration/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 什么是进程 ID？如何使用 PID 进行进程管理 ]]>
                </title>
                <description>
                    <![CDATA[ 你是否曾经想过，当多个程序同时运行时，计算机如何知道显示哪个程序的输出？这一切都归功于进程 ID (PID)。 PID 是一个唯一标识符，帮助操作系统跟踪和管理运行中的程序。 在本文中，我们将探讨什么是进程 ID (PID)、它为何重要，以及如何使用它来管理进程，包括在必要时终止程序。 理解 PID：计算机如何识别正在运行的程序 让我们考虑两个 Python 脚本：  * hello_maham.py → print("Hello Maham")          * hello_amna.py → print("Hello Amna")         计算机如何知道 hello_maham.py 应该显示输出 "Hello Maham" 而不是来自 hello_amna.py 的 "Hello ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/what-is-a-process-id-process-management-tutorial/</link>
                <guid isPermaLink="false">67a3664c413508045ddca14f</guid>
                
                    <category>
                        <![CDATA[ 系统管理 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Miya Liu ]]>
                </dc:creator>
                <pubDate>Wed, 05 Feb 2025 11:18:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2025/02/1738762164263.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/what-is-a-process-id-process-management-tutorial/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">What is a Process ID? How to Use PIDs for Process Management</a>
      </p><!--kg-card-begin: markdown--><p>你是否曾经想过，当多个程序同时运行时，计算机如何知道显示哪个程序的输出？这一切都归功于进程 ID (PID)。</p>
<p>PID 是一个唯一标识符，帮助操作系统跟踪和管理运行中的程序。</p>
<p>在本文中，我们将探讨什么是进程 ID (PID)、它为何重要，以及如何使用它来管理进程，包括在必要时终止程序。</p>
<h2 id="pid">理解 PID：计算机如何识别正在运行的程序</h2>
<p>让我们考虑两个 Python 脚本：</p>
<ul>
<li>
<p><code>hello_maham.py</code> → <code>print("Hello Maham")</code></p>
</li>
<li>
<p><code>hello_amna.py</code> → <code>print("Hello Amna")</code></p>
</li>
</ul>
<p>计算机如何知道 <code>hello_maham.py</code> 应该显示输出 "Hello Maham" 而不是来自 <code>hello_amna.py</code> 的 "Hello Amna"？</p>
<p>如果你认为这只是魔法般地发生，那就再想想吧！这都要归功于一个叫做 <strong>进程 ID (PID)</strong> 的东西。</p>
<p>在任何操作系统中，进程都在后台不停地运行以执行任务。无论是你手动启动的程序还是自动运行的系统任务，这些进程都被分配了一个唯一的 PID。</p>
<p>让我们进一步解析这个过程。</p>
<h2 id="idpid">什么是进程 ID（PID）</h2>
<p>简单来说，</p>
<blockquote>
<p><em>一个</em> <strong><em>进程 ID (PID)</em></strong> <em>是分配给操作系统中每个运行进程的唯一标识符。</em></p>
</blockquote>
<p>让我们来了解后台发生了什么。</p>
<p>每当一个程序运行时，无论是什么语言，它都需要内存和时间来执行。因此，当你运行一个程序时，操作系统会为它创建一个新的进程。为了识别这个程序，计算机会为它分配一个独特的标识符——<strong>进程 ID</strong>——然后开始执行。</p>
<p>让我们再看看之前的例子：</p>
<ul>
<li>
<p>当你运行 <code>hello_maham.py</code> 时，系统为它分配一个唯一的 PID。</p>
</li>
<li>
<p>同样，当你运行 <code>hello_amna.py</code> 时，它也会有自己独特的 PID。</p>
</li>
</ul>
<p>这就是为什么两个脚本的输出不会重叠！</p>
<p>现在明白了吗？每当创建一个新进程时，系统会确保每个进程获得不同的 PID。系统使用这个 PID 来管理和与进程交互。这就叫做 <strong>PID 的唯一性</strong>。</p>
<h3 id="id">计算机如何处理这个 ID</h3>
<p>你可能会想，计算机是否拥有数百万个 PID？毕竟，我们可能同时运行很多程序。</p>
<p>答案是<strong>否</strong>。一旦一个进程结束，它的 PID 就可以被再次使用。这意味着 PID 是可重复使用的，并且不会短缺。</p>
<h3 id="pid">但为什么以及何时需要 PID</h3>
<p>现在你知道了 PID 是什么，你可能会想：<strong>我为什么需要这个？</strong></p>
<p>实际上，PID 对于系统管理员和开发人员非常有用。它们有助于：</p>
<p><strong>系统管理员和开发人员管理进程</strong>。例如，如果某个东西不正常工作，你需要能够找到并停止引起问题的具体进程，对吧？</p>
<p>PID 对于<strong>资源管理</strong>也很重要。操作系统使用它们来为每个进程分配内存和 CPU 时间，以确保没有一个程序占用所有资源。</p>
<h2 id="pid">如何查找正在运行程序的 PID</h2>
<p>到目前为止，我们已经讲解了理论概念。现在，你可能会想：我如何在计算机上找到一个程序的 PID？</p>
<p>以下是一些使用终端中各种命令查找正在运行程序的 <strong>PID</strong> 的简单方法。</p>
<p>注意，我使用的是 Bash 来执行 PID 命令，并附上了一个截图。但对于其他终端如 CMD 和 PowerShell，相关命令将在最后提到。</p>
<p>其中一些方法包括：</p>
<h3 id="1ps">1. 使用 <code>ps</code> 命令</h3>
<p><code>ps</code> 命令显示当前正在运行的进程及其 PID 的快照。</p>
<pre><code>ps aux | grep &lt;program_name&gt;
</code></pre>
<p>这里是一个例子：</p>
<pre><code>ps aux | grep python
</code></pre>
<p>此命令将显示系统上所有正在运行的 Python 进程及其 PID。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1737914130884/686568b8-77d5-439d-a08b-61e18d4e5d56.png" alt="运行的 Python 进程及其 PID" width="875" height="195" loading="lazy"></p>
<h3 id="2top">2. 使用 <code>top</code> 命令</h3>
<p><code>top</code> 命令显示系统上正在运行的进程的实时信息，包括它们的 PID。</p>
<pre><code>top
</code></pre>
<p>在 <strong>PID</strong> 列下查看你感兴趣的进程。</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1737914189672/43f93890-2e06-42a8-b61b-9103227cf912.png" alt="运行 top 命令的结果" width="1066" height="782" loading="lazy"></p>
<h2 id="pid">如何使用 PID 终止进程</h2>
<p>如果你想<strong>终止</strong>程序怎么办？无论是 cron 作业还是行为异常或运行时间过长的程序，如何使用 PID 停止它？</p>
<p>让我们了解一下如何做到这一点：</p>
<h3 id="1kill">1. 使用 <code>kill</code> 命令</h3>
<p>要终止进程，请使用 <code>kill</code> 命令和 PID：</p>
<pre><code>kill &lt;PID&gt;
</code></pre>
<p>这里是一个例子：</p>
<pre><code>kill 1234
</code></pre>
<h3 id="2kill9">2. 使用 <code>kill -9</code> 命令（强制终止）</h3>
<p>如果在使用常规 <code>kill</code> 命令之后进程仍未停止，可以使用 <code>kill -9</code> 命令强制终止它：</p>
<pre><code>kill -9 &lt;PID&gt;
</code></pre>
<p>这是一个例子：</p>
<pre><code>kill -9 1234
</code></pre>
<p>这会强制终止进程并绕过其可能有的任何关闭程序，因此请务必谨慎使用。</p>
<h2 id="pidcron">如何使用 PID 停止 cron 作业——实际示例</h2>
<p>假设你有一个 cron 作业正在运行，并且出现了问题。你该如何停止它？</p>
<p>cron 作业是指按特定时间间隔自动运行的计划任务。</p>
<p>如果你需要停止正在运行的 cron 作业，可以使用运行该 cron 作业的进程的 PID。</p>
<h3 id="cron">停止正在运行的 cron 作业</h3>
<p>如果你需要停止正在运行的 cron 作业，可以使用运行该 cron 作业的进程的 PID。</p>
<p>以下是终止 cron 作业的方法：</p>
<ol>
<li>
<p><strong>查找 PID</strong>：使用 <code>ps</code> 或 <code>pgrep</code> 命令查找 cron 作业的 PID。例子：</p>
<pre><code>ps aux | grep cron
</code></pre>
</li>
<li>
<p><strong>终止 Cron 作业</strong>：找到 cron 作业的 PID 后，使用 <code>kill</code> 或 <code>kill -9</code> 命令停止它。</p>
</li>
</ol>
<h2 id="">其他终端的命令</h2>
<p>以下是在不同终端中管理进程的方法：</p>
<table>
<thead>
<tr>
<th>操作</th>
<th>CMD 命令</th>
<th>PowerShell 命令</th>
<th>Bash 命令</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>列出所有进程</strong></td>
<td><code>tasklist</code></td>
<td><code>Get-Process</code></td>
<td><code>ps aux</code></td>
</tr>
<tr>
<td><strong>按名称查找进程</strong></td>
<td><code>tasklist</code></td>
<td><code>findstr &lt;name&gt;</code></td>
<td><code>Get-Process</code></td>
</tr>
<tr>
<td><strong>通过 PID 终止进程</strong></td>
<td><code>taskkill /PID &lt;PID&gt;</code></td>
<td><code>Stop-Process -Id &lt;PID&gt;</code></td>
<td><code>kill &lt;PID&gt;</code></td>
</tr>
<tr>
<td><strong>强制终止进程</strong></td>
<td><code>taskkill /F /PID &lt;PID&gt;</code></td>
<td><code>Stop-Process -Id &lt;PID&gt; -Force</code></td>
<td><code>kill -9 &lt;PID&gt;</code></td>
</tr>
</tbody>
</table>
<h2 id="">小结</h2>
<p>理解<strong>进程 ID</strong> 是管理计算机上进程的关键。通过简单的命令，你可以轻松找到并停止有问题的进程，确保系统顺畅运行。</p>
<p>通过使用 PID 来控制你的系统吧！</p>
<p><strong>保持联系 — @syedamahamfahim 🐬</strong></p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
