Shell命令——进程

本文介绍如何使用Ctrl-C和Ctrl-Z等快捷键管理进程,后台运行进程的方法,以及使用ps、top、pstree、vmstat等命令查看进程状态和系统资源使用情况。还介绍了jobs、bg、fg等命令用于管理作业,kill和killall命令用于终止进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进程管理

进程执行时,Ctrl-C终止进程,Ctrl-Z暂停进程。

命令后增加’&’符号会在后台运行进程。后台执行时,不受键盘输入影响。

ps:查看所有进程运行状态

top:实时显示所有任务资源暂用情况

pstree:以树状模式输出进程列表

vmstat:输出系统资源使用情况

jobs:列出所有活动作业的状态

bg:设置后台作业, bg %n,n是作业号

fg:设置前台作业, fg %n,n是作业号

kill:发送信号给某个进程,可以使用进程id或者作业号,发送信号一般包含-2(INT)、-9(KILL)、-15(TERM)

killall:杀死指定名字的进程

shutdown:关机或重启系统

### 如何在 Shell 中终止 Shell 进程 在 Linux 或 Unix 系统中,可以通过多种方法使用 Shell 命令来终止正在运行的 Shell 进程。以下是几种常见的方法及其详细说明: #### 方法一:使用 `kill` 命令 `kill` 是一种通用的方法,用于向指定的进程发送信号以终止其运行。要终止特定的 Shell 进程,首先需要找到该进程的 PID(Process ID),然后使用 `kill` 命令。 1. **查找目标 Shell 的 PID** 使用 `ps` 和 `grep` 组合命令定位目标 Shell 进程的 PID。 ```bash ps aux | grep "[s]hell_script_name" | awk '{print $2}' ``` 上述命令会返回匹配到的目标 Shell 脚本对应的 PID 列表[^1]。 2. **发送终止信号** 找到目标 PID 后,可以使用以下命令终止对应进程: ```bash kill -9 <PID> ``` 此处 `-9` 表示发送 SIGKILL 信号,这是一种强制终止的方式[^2]。 #### 方法二:通过内置命令退出当前 Shell 对于当前运行的交互式 Shell,可以直接使用内部命令完成退出操作而无需外部工具。 - 输入 `exit` 即可正常关闭当前终端会话或子 shell 实例[^5]。 - 如果希望立即中断程序而不等待清理工作,则可通过快捷键组合 Ctrl+C 发送中断信号 (SIGINT)[^3]。 #### 方法三:编写自动化脚本来管理进程生命周期 当面对复杂场景需定期检测某些服务状态并适时采取行动时,考虑构建专门负责此类任务的小型守护程序不失为明智之举。例如下面展示了一个简单例子用来持续监视某 Python 应用是否存活;一旦发现停止即刻重新启动之[^4]: ```bash #!/bin/bash while true; do monitor=$(pgrep python_app || echo "") if [[ -z "$monitor" ]]; then nohup /path/to/python_app & fi sleep 5 done ``` 以上三种途径分别适用于不同场合下的需求——无论是手动干预还是批量处理亦或是长期维护皆有所涉猎。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值