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 分隔的索引号列表来列出索引来查看进程。
句法 :
ps -p (list of index numbers to be displayed)
外壳脚本:
#!/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
输出 :