📜  Shell 脚本 - 如何查看进程?

📅  最后修改于: 2022-05-13 01:57:27.503000             🧑  作者: Mango

Shell 脚本 - 如何查看进程?

在本文中,让我们探讨如何查看 Linux 服务器上运行的当前进程。

Linux 机器为用户提供了多任务选项,因此自然会有多个进程在一个会话上运行,这些进程也是 Linux 操作系统的重要基础组件,因此系统管理员可能需要了解所有进程以及它们在哪些终端上运行。为了获取机器上运行的所有进程的列表,Linux 提供了一个名为 ps 的实用程序,它提供了机器上运行的进程的信息,这里 ps 代表进程状态。

句法 :

ps {options} 

ps 命令生成的结果包含 3 个字段,即:

  • PID :这是与每个进程关联的唯一 ID。
  • TTY:此值定义用户正在使用的终端类型。
  • CMD :此值定义启动进程的命令的名称。

现在让我们看看可以在 Linux 服务器上执行的不同类型的 ps 命令,并运行运行这些命令的示例脚本。

检查在当前 shell 中运行的进程

我们使用 ps 命令查看 shell 中当前正在运行的进程。

句法 :

ps  

示例外壳脚本:

#!/bin/bash 
function proCheck () 
{
ps 
}
proCheck 

输出 :

检查终端中所有正在运行的进程

要查看终端中所有正在运行的进程,我们使用 ps 命令后跟 -A 或 -e。用于查看终端中所有正在运行的进程的 Shell 脚本

消息.sh:

#!/bin/bash 
function ProCheck () { 
ps  -A
}
ProCheck 

或者

#!/bin/bash
function ProCheck () {
ps  -e
}
ProCheck 

输出 :

检查与终端无关的进程

运行以选项 -a 分隔的命令 ps 以查看与 Linux 机器上的终端无关的进程。

外壳脚本:

#!/bin/bash 
function ProCheck() { 
ps -a 
}
ProCheck() 

输出 :

检查除会话负责人之外的所有进程

要查看除会话领导者以外的进程,请执行命令 ps 并用选项 -d 分隔

什么是会话负责人流程?

对于每组进程,都会分配一个唯一的会话,并且会话领导进程是唯一会话中具有进程 ID 的第一个进程。用于查看不包括会话领导进程的进程的 Shell 脚本:

外壳脚本

#!/bin/bash 
function ProCheck() 
{
ps -d 
}
ProCheck()

输出 :

检查作为会话领导者的进程

执行以选项 -a -N 分隔的命令 ps 以获取仅作为会话领导者的进程列表。

外壳脚本:

#!/bin/bash 
function ProCheck() 
{
ps -a -N 
} 
ProCheck() 

输出 :

按列表检查进程

我们可以通过执行以 ps 分隔的 ps 命令和 -p 分隔的索引号列表来列出索引来查看进程。

句法 :

外壳脚本:

#!/bin/bash 
function ProCheck() 
{ 
ps -p 3,4 
}
ProCheck() 

输出 :

检查属于终端的所有进程

我们可以执行以-T分隔的ps命令来获取属于终端的进程列表。

外壳脚本:

#!/bin/bash 
function ProCheck() {
ps -T 
}
ProCheck() 

输出 :

按进程 ID 检查进程

要通过进程 ID 查看进程,我们需要执行 ps 命令,由选项 -p 和进程 ID 分隔。

句法 :

ps -p (process id)  

外壳脚本:

#!/bin/bash 
function ProCheck() 
{
ps -p 640
ps -p 675 
}
ProCheck() 

输出 :

通过命令检查进程

要参考我们使用的命令显示进程,我们可以使用我们希望显示的命令执行由选项 -c 分隔的命令 ps。

句法 :

ps -c (command name) 

外壳脚本:

#!/bin/bash 
function ProCheck() 
{
ps -c clear 
}
ProCheck 

输出 :