在 Windows 里,按 Ctrl+Alt+Delete 可以调出“任务管理器”。但是在 Linux 里按同样的按键是注销(图形界面)/重启(文本界面)。怎么管理进程和杀进程?

ps

ps 是一个用来查看进程列表的命令。和 Windows 的 tasklist 类似。

一般情况下,使用 ps 时后面要跟一些参数。常用的是 ps -aux 和 ps -lax。

ps 和后面提到的命令都有很多附加参数。可以通过搜索引擎,或者 man 命令(如 man ps)获得帮助。

pstree

pstree 可以以进程树的形式列出当前进程。

kill

kill 可以杀死指定 PID 的进程。假如通过 ps 查到要杀死的进程 PID 为 1234,那么可通过kill 1234结束进程。

killall 是通过进程名来杀死进程的命令。

xkill

xkill 是 X 环境的杀进程命令。只要输入 xkill,鼠标轻轻一点,鼠标指向的窗口(对应的进程)就立马被杀死了。

top

top 是一个交互式任务管理器。当然,纯文本界面的。

top 命令可以查看 CPU、内存等资源占用的实时状态,并且进行进程管理。

按“”键翻页,按“k”然后输入进程 PID 可以杀死进程,按“q”退出。其余功能可看手册。

htop

htop 是一个类似的命令,不过 htop 比 top 现代多了。例如,htop 支持颜色,htop 支持鼠标……

注意

Unix 进程和 Windows 进程有一些不同之处,在杀进程时候务必注意一下。

进程树

在 Unix 和 Linux 中,进程之间具有父子关系。一旦父进程结束,子进程也会随之结束,这一点和 Windows 是很不一样的。

防止“连带”关系

这个技巧常用于远程连接。在远程连接过程中可能会执行一些耗时间的任务,一旦中断连接,负责远程连接的 shell 进程结束,它的子进程也就是我们的任务也会随之结束,因此要设法防止发生“连带关系”。

另外,耗时间的任务也会占用终端输入输出,所以有时候我们也希望它不要影响自己。

假如 python myprog.py 是一个很耗时的脚本:

python myprog.py &:在命令后面加个“&”,可让命令在后台运行。(进程仍然存在父子关系)

nohup python myprog.py &:前面加“nohup”,后面加“&”,命令在后台运行,进程无父子关系。

Ctrl+Z:如果命令已在前台运行,按 Ctrl+Z 可将其休眠(暂停)。输入“jobs”查看已经休眠的进程,输入“fg”使进程恢复前台运行,输入“bg”使进程转入后台运行(父子关系不变),输入“exit”强制结束这些被休眠的进程。

disown:如果命令已在前台运行,但是还需要退出终端,那么可以将进程休眠,通过 disown 命令使其脱离关系。disown 命令的参数与 jobs 的输出有关。

信号

Unix 和 Linux 有信号的概念。信号可以控制进程的运行。

如果想手动发送信号,可通过 kill 命令(因此 kill 不完全是一个杀进程的命令)。例如:

kill -STOP pid:发送 SIGSTOP 信号,停止进程但不消灭进程。

kill -CONT pid:发送 SIGCONT 信号,重新开始已停止的进程。

kill -KILL pid:发送 SIGKILL 信号,强迫进程停止。这个命令可以用于对付无法正常结束的进程。

linux 查看任务管理器,LINUX查看进程的4种方法(小结)相关推荐

  1. LINUX查看进程的4种方法(小结)

    进程是在 CPU 及内存中运行的程序代码,而每个进程可以创建一个或多个进程(父子进程). 查看进程方法 第一种: ps aux ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不 ...

  2. Linux中ps配合Kill进程的N种方法

    常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx ...

  3. asp 执行linux脚本,Shell.Application执行命令的五种方法小结

    当初老马写这个版本时,我测试过简繁两个2003版本的,当是是好用的.我猜测很可能与2003打了ms06014补丁有关.kyo在冰点论坛提出了解决方法,我今天下午研究了一下这个组件,发现它有5种方法可以 ...

  4. linux 批量删除进程的两种方法

    linux批量删除进程的两种方法 介绍两种方法.要kill的进程都有共同的字串. [plain]  kill -9 `ps -ef |grep xxx|awk '{print $2}' `    ki ...

  5. linux系统调用劫持隐藏进程,linux 下隐藏进程的一种方法及遇到的坑

    前言 1.本文所用到的工具在 https://github.com/gianlucaborello/libprocesshider 可以下载 2.思路就是利用 LD_PRELOAD 来实现系统函数的劫 ...

  6. Linux中创建Daemon进程的三种方法

    Linux中创建Daemon进程的三种方法 什么是daemon进程? Unix/Linux中的daemon进程类似于Windows中的后台服务进程,一直在后台运行运行,例如http服务进程nginx, ...

  7. linux系统下重启网络服务的两种方法

    linux系统下重启网络服务的两种方法 发布时间:2020-04-02 11:25:25 来源:亿速云 阅读:207 作者:小新 今天小编给大家分享的是linux系统下重启网络服务的两种方法,很多人都 ...

  8. Linux系统中运行.sh文件的几种方法

    在Linux系统中执行.sh文件的几种方法: 1. cd到.sh文件所在的目录,然后执行./xxx.sh   [前提:该./sh文件要有可执行的权限,chmod u+x xxx.sh]  2. 在任何 ...

  9. hpux 下查看内存的的大小的几种方法:

    hpux 下查看内存的的大小的几种方法: # /opt/ignite/binpa/print_manifest|grep Memory NOTE: Could not read the /etc/re ...

  10. linux中禁用Root帐户的4种方法

    介绍 root账号 是 Linux 和其他类 Unix 操作系统上的超级帐户.此帐户可以访问系统上的所有命令和文件,并具有完全读取.写入和执行权限.它用于在系统上执行任何类型的任务:create/up ...

最新文章

  1. SpringMVC和mybatis的框架
  2. android另类工具,[置顶] android应用程序开发另解及Android SDK工具集的另类用法
  3. elementui的upload组件怎么获取上传的文本流、_抖音feed流直播间引流你还不会玩?实操讲解...
  4. 水星怎么设置网速最快_水星无线路由器如何设置网速限制 水星路由器怎么让别人网速限制方法...
  5. nginx 和 nodejs配置使用搭建网站
  6. 初始化_Linux的内存初始化
  7. spark学习-75-源代码:Endpoint模型介绍(6)-Endpoint的消息的接收(2)
  8. Win8.1开机速度慢解决办法
  9. Learning Python 012 函数式编程 1 高阶函数
  10. [C# 网络编程系列]:TCP编程
  11. libevent c++高并发网络编程_高并发-网络I/O
  12. 电动自行车出租管理系统VS开发sqlserver数据库web结构c#编程计算机网页
  13. 如何在html中使用特殊字体
  14. 基于Android studio+SSH的单词记忆(背单词)APP设计
  15. 如何理解共价键的方向性和饱和性
  16. AI实战:垂直领域问答机器人QA Bot常见技术架构
  17. 哔哩哔哩2020校园招聘游戏测试笔试卷(二)知识点解析
  18. ai智能电话机器人语音识别技术
  19. Failed to introspect Class [com.controller.HardWareController] from ClassLoa在ssm中读取串口信息
  20. 如何定义一个高逼格的原生JS插件

热门文章

  1. linux学校_济南教师招聘 |济南市益友培训学校7大岗位教师招聘(月薪4k15k、包住)...
  2. java人民币金额大写_[求助]用java实现整数转换为人民币金额大写的功能
  3. visual studio 调试php,使用visual studio code调试php代码
  4. TortoiseSVN 汉化
  5. 在网页上如何实现文字竖排
  6. bugku CTF杂项wp(1)
  7. C#中datagridview实现单元格输入框加按键,下拉框功能
  8. 算法归总—短除法求最大公约数
  9. 独家专访阿里云存储负责人吴结生:我经历的三个重大决策
  10. 两轮差速机器人舵机转轴示意图_一种基于两轮差速机器人的运动控制方法与流程...