linux杀死进程命令代码 linux命令kill结束进程

从普通人的角度来看,一个进程就是一个正在运行的程序。从程序员的角度来看,认知要复杂得多。是正在运行的程序的实例。它由程序指令、从文件中读取的数据、其他程序或系统用户的输入组成。它也是应用层运行、占用内存、经常与内核交互的动态运行实体。进程是内核定义的抽象实...

从普通人的角度来看,一个进程就是一个正在运行的程序。

从程序员的角度来看,认知要复杂得多。是正在运行的程序的实例。它由程序指令、从文件中读取的数据、其他程序或系统用户的输入组成。它也是应用层运行、占用内存、经常与内核交互的动态运行实体。

进程是内核定义的抽象实体,内核为进程分配各种系统资源以执行程序。

从内核层面来说,进程由用户内存空和一系列内核数据结构组成。其中,用户内存空包含程序代码和代码使用的变量,内核数据结构用于维护进程的状态信息。内核数据结构中记录的信息包括:进程ID号IDs、虚拟内存表、打开文件描述符表、与信号传输和处理相关的信息、进程资源的使用和限制、当前工作目录、环境变量、命令行等等。

1流程类型

Linux中有两种主要类型的进程:

前台进程

这也叫互动过程–这些进程由终端或图形界面启动,并响应用户操作。也就是说,要求用户开始这样的过程。虽然其中一些可以设置为引导,但它们并不是作为Linux操作系统的功能/服务的一部分自动启动的。

后台进程

也被称为非交互/自动过程,这些过程不连接到终端,并且它们不需要任何用户输入。这些过程大多在系统级提供服务。

对了,Linux还有一个重要的进程,就是守护进程deamon。这种守护进程其实属于一种特殊类型的后台进程,在系统启动时启动,作为服务运行。他们不会死。它们自发地作为系统任务启动(作为服务运行)。但是,用户可以通过init进程来控制它们。

2 4 Linux上进程的状态

1.运行正在运行,系统中的当前进程,或者准备运行(等待CPU单元分配)。

2等待,进程正在等待一个事件或系统资源。

内核还区分两种不同类型的等待进程。一种是可中断等待进程,可以被信号中断,另一种是无中断等待进程,等待硬件条件,不能被任何事件/信号中断。

3.Stop Stopped,进程已经停止,通常是因为收到信号后停止运行,比如SIGSTOP,SIGSTP,SIGTIN,SIGTOU。正在调试的进程一般处于这种状态。

4.Zombie已经死了,进程已经终止,但是进程表中仍然有它的条目,进程描述符仍然在那里,直到父进程调用wait4()系统调用并释放它。

3 Linux如何识别进程?

如果你没有名字,怎么让别人给你打电话?同理,一切都是相通的。如果进程没有标记,Linux系统怎么识别?

Linux是一个多用户多进程系统。不同的用户可以在系统上运行不同的程序,同一个程序可以运行多个进程。例如,多人可以登录到您的Linux系统,启用终端tty,您也可以单独启动多个tty。内核必须唯一地标识程序运行的每个实例。

一个程序由它的进程ID(PID)和它的父进程ID(PPID)来标识,所以进程可以分为父进程和子进程。

父进程 – 这些是在运行时创建其它进程的进程。子进程 – 这些是在运行时由其它进程创建的进程。

查找进程ID

您可以使用pidof命令来查找进程的进程ID。例如,Linux上所有进程的祖先init进程的pid是1:

$ pidof init1

如果用一个程序打开多个实例,比如chrome打开多个网页,pid的操作风格如下:

$pidof chrome8885 7610 7588 ***29 5100 5085 4547 4382 4355 4307 3598 3580 35593546 3514 3488 3453 3447 3413 3387 3367 3359 3355 3338 3302 32863270 3237 3224 3158 2874 2861 2833 2806 2677 2565 2553 2550 2528 2524 2523 2512

有两个shell命令来查找当前shell的进程ID及其父进程的进程ID。

$echo $PPID2758 父进程ID$ echo $$ 8518 当SHELL进程D

4个后台任务

从终端启动一个进程,并使用& Do符号参数,该进程将立即被发送到后台。例如,以下命令系列:

也可以按Ctrl+Z暂停一个程序的执行,并发送到后台(按Ctrl+Z这样当前终端会给进程发送一个SIGSTOP信号),从而暂停其执行;它将成为一个空空闲进程。

要继续在后台运行上述挂起的命令,请使用bg命令。上面的例子。

要将后台进程发送到前台,请使用fg命令和任务ID,类似于:

5在Linux中使用shell命令查看活动进程

ps,顶,查流程

ps和top命令是两个最常用的进程查看命令。这个命令非常强大。熟悉这两个命令的常用用法是Linux日常操作管理的基础。

显示进程信息,包括不带终端的进程(X)和用于用户的进程(U):如用户、PID、%CPU、%MEM等。

ps -aux

根据内存资源的使用情况对进程进行排序。

ps -aux | sort -rnk 4

根据CPU资源使用情况对进程进行排序。

ps -aux | sort -nk 3

根据UID,PID,PPID,c,STIME,TTY,时间,CMD

ps -ef

当然,以上也可以用grep筛选。

ps -ef | grep tty

Top com***nd是Linux下常用的性能分析工具,可以实时显示系统中各个进程的资源占用状态,类似于Windows的任务管理器。显示顶级进程的数据包括PID、进程所有者、优先级、%CPU、%内存等。这些显示数据可用于指示资源使用情况。

pgrep命令

该命令扫描当前运行的进程,然后根据命令匹配条件将匹配结果列到标准输出中。按名称搜索进程号很有用。

使用参数“-o”,当多个进程匹配时,显示进程号最小的进程。相反,参数“-n”显示进程号最大的那个。

~$ pgrep -l sh 显示结果如上图所示~$ pgrep -l -o sh157 zswap-shrink~$ pgrep -l -n sh17341 gnome-screensho

Pgrep支持正则表达式条件,通常与kill命令一起使用,在指定的条件下终止问题进程。

p tree显示进程树

Pstrees以树形图展示流程之间的关系,可以直观的查看流程的父子关系。最好用“-g”参数执行,这样可以显示进程的PID号。

htop

Top只能显示系统进程的状态,不能和用户交互。可以交互的一个是htop,系统不包含,需要“sudo apt install htop”安装。Htop通过文本图形显示每个进程的CPU和内存使用情况以及交换区使用情况。使用上下光标键选择进程,F7和F8更改优先级,F9取消进程。

使用top htop运行时,可以按Q键退出。

6使用shell命令干预Linux中的跳转过程

kill,killall终止进程

kill <pid>

kill命令用于发送结束进程的信号。如果上面的命令不能终止进程,可以用“-9”参数试试。

kill -9 <pid>

当您不知道进程的PID或者想通过名字终止进程时,请使用killall命令。

killall -9 - 杀死所有同名进程

在使用kill或killall命令之前要小心,因为进程的内部操作可能没有完成,并且文件可能正在被写入。如果你这样点击,你会被杀死,游戏会在进程清理现场之前结束,这可能会带来很大的风险。

htop终止进程

因为系统进程太多,如果想在htop中杀死一个进程,最好先做F3查询,然后按F9杀死。

nice和renice命令

用top和h top显示进程时,有一列是NI,nice值,表示进程的优先级。进程优先级值的范围从-20到19。值越低,优先级越高。提高一个进程的优先级,内核会给这个进程分配更多的CPU时间片。默认情况下,该进程从优先级0开始。

借助nice命令,用户可以设置和更改进程的优先级。当然,没有root权限,我们无法实现这个目标。

sudo nice --3 kolourpaint “kolourpaint”是一个类似于windows上的画图的工具软件

然后可以看到优先级为-3的kolourpaint进程。

renice命令可以更改运行进程的优先级值。请注意,用户只能更改自己进程的优先级值。

命令“renice -n -p PID”更改指定进程的优先级值。以上面的例子为例,执行。

$ sudo renice -n 6 -p 1621716217 (process ID) 旧优先级为 -3,新优先级为 6

根据htop,系统已经运行的kolourpaint进程的NI值已经从-3变成了6。

7与过程相关的其他命令

w命令。是的,这个命令是一个“W”。用于查看登录者及其行为的信息。

提供有关当前登录用户及其正在执行的进程的信息。显示标题包含当前时间、系统运行时间、登录用户总数以及过去1分钟、5分钟、15分钟的负载平衡数等信息。

谁命令查看登录服务器的用户信息。

whoami命令在系统中显示您的用户名。

logname命令,可以显示首次登录系统的用户的用户名。

tty命令检查连接的设备或终端。

last命令检查用户上个月登录服务器的情况。

8进程资源限制

Ulmit命令,用于检查系统上进程的资源限制。“ulimit -a”显示与当前用户相关的资源限制。

该命令用于控制shell和进程上系统资源的分配。对普通人来说价值不大,反正你也不会要求太多资源。但是对于系统管理员来说就不一样了。一个真正的大系统有大量的资源管理。该命令可以管理大量使用且存在性能问题的系统。限制资源的大小,保证重要流程的连续运行,调整其他流程,以免占用过多资源。

关于Linux进程的命令有很多,很多都有很多参数和强大的功能,很多命令可以通过管道、重定向等方式组合使用。这个只能简单介绍一下。

本文来自年轻人玩的就是心跳投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/565423.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-27
下一篇 05-27

相关推荐

  • 语言栏不显示了怎么办 win7语言栏修复命令

    我们在使用电脑的时候会遇到一些问题,比如Windows S10语言栏没了怎么解决问题。让我们和边肖一起往下看。操作流程:1.首先,我们在计算机的开始菜单中找到并点击设置选项。2.然后,在页面中,我们找到并单击时间和语言选项。3.然后我们首先在左边选择语言,在右边找到拼写、打

    2023-07-29 05:54:01
    1025 0
  • 电脑怎么运行命令清理垃圾 怎么用命令行清理电脑垃圾

    电脑使用一段时间后,各种电脑垃圾越积越多,导致我们的电脑出现启动慢、运行卡顿等问题。那么有什么办法可以帮助我们快速清理电脑垃圾呢?其实用运行的命令代码就可以快速清理电脑垃圾。今天我们就来看看如何使用run命令代码快速清理电脑垃圾!首先使用组合键[win+R]调出运行

    2023-07-29 02:42:01
    882 0
  • 常用的dos命令教程 dos基本命令大全cmd

    一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入操作系统中的dos命令,如下图:严格的说,windows 中的命令窗口并不是真正意义上的dos操作界面,其功能并不全面,真正的dos

    2023-07-28 17:35:01
    331 0
  • cad画斜线怎么画 cad画45度斜线命令

    CAD是一个强大的绘图软件。学好了,工资也不会低。但是对于从来没有接触过CAD的朋友来说,刚开始学这个软件是很难的,但是要想学会,还得下功夫。因此,边肖为大家整理了一份CAD入门教程。想学CAD的朋友要来看看!先看看快捷方式说明:1.创建直线的捷径是L+空 grid。2.创建圆的

    2023-07-28 04:25:01
    593 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信