查看进程

pi@raspberry:~ $ ps -ef | grep python3
UID    PID PPID C STIME TTY    TIME   CMD
pi 4678 4666 0 11:57 pts/1 00:00:00 python3 ./Desktop/device.py
pi 4859 4644 0 11:57 pts/0 00:00:00 grep --color=auto python3
pi@raspberry:~ $

常规操作

pi@raspberry:~ $ kill -9 4678

一行 Code

pi@raspberry:~ $ ps -ef | grep device.py | grep -v grep | awk '{print $2}' | xargs kill -9

解析

  1. ps -ef
    列出进程信息
  2. grep device.py
    在进程信息中找到需要杀死的进程命令名
  3. grep -v grep
    在进程信息中剔除带 grep 的信息(也就是剔除 grep 命令的进程,避免误删)
  4. awk '{print $2}'
    提取字符串行内容的第2个字段,也就是当前示例的进程号
  5. xargs kill -9
    将进程号作为参数传递给kill -9这个命令

总结

依据名字,有效杀死一个进程的方式

ps -ef | grep process_name_segment | grep -v grep | awk '{print $2}' | xargs kill -9

其中 process_name_segment 是想要杀死的进程名称的片段,实现模糊查找。

注意:有时候在嵌入式 Linux 系统中,打印行的第1个字段即为进程号,上述命令需要改写为 'print $1'

补充1:

敲黑板:使用出发现 awk '{print $2}' 必须是 单引号,不能是双引号!

因为 ' ' 单引号内容代表引入代码块,并对命令行中信息进行解析。

补充2:

更简单的指令 pgrep 可以理解成是 pid grep ,筛选进程号,

因此更简单的写法是:

kill - `pgrep process_name_segment`

这里涉及一个知识点,若想要把其他命令的指令当做参数,可以使用 `执行命令` 反引号包裹起来,或者使用 $(执行命令) 美元符号加括号包裹起来。

于是,上述写法也可以是:

kill - $(pgrep process_name_segment)

一行CMD命令kill(杀)掉你的进程的更多相关文章

  1. 使用 bat cmd命令杀掉 删掉运行的程序

    删掉所有xx.exe开启的进程 taskkill /f /im xx.exe 开启xx.exe start xx.exe 根据标题栏信息删除 taskkill /f /FI "windows ...

  2. Windows Linux的cmd命令查询指定端口占用的进程并关闭

    以端口8080为例: Windows  1.查找对应的端口占用的进程:netstat  -aon|findstr  "8080",找到占用8080端口对应的程序的PID号: 2.根 ...

  3. Windows的cmd命令查询指定端口占用的进程并关闭

    以端口8080为例: 1.查找对应的端口占用的进程:netstat  -aon|findstr  "8080"    ,找到占用8080端口对应的程序的PID号: 2.根据PID号 ...

  4. 封装:Cmd命令调用和常用命令

    原文:封装:Cmd命令调用和常用命令 一.Cmd命令调用方法 1.静态方法调用 class Program { static void Main(string[] args) { // Todo :打 ...

  5. Linux---使用kill杀不掉进程解决方案

    今天打开Linux虚拟机,然后使用jps命令查看,莫名奇妙多了一个1889进程 然后使用kill杀掉后,再运行jps还是存在此进程.于是乎开始大量百度,最终找到了解决方案. 说的很清楚了,杀不掉的原因 ...

  6. cmd命令行结果保存到txt里,屏幕显示一行就保存一行到txt

    #coding:utf-8 """ 1.重定向print 2.python与cmd命令 """ import sys import os i ...

  7. linux一行命令查杀进程

    https://blog.csdn.net/primeprime/article/details/52415273 ps -efww | grep -w 'helloworld' | grep -v ...

  8. Windows cmd命令

    运行操作 CMD命令锦集       1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个监测网络中DN ...

  9. CMD命令大全

    有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. AT 计划在计算机上运行的命令和程序. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CT ...

随机推荐

  1. 第一次WM_PAINT事件执行前显示白色框 的解决办法

    界面显示前,总是会显示白色或白加黑的窗体, 开始以为是图片加载慢的原因,后来发现这个框是在第一次WM_PAINT执行前显示的. 解决办法很简单,在CreateWindow的时候,加上WS_POPUP样 ...

  2. cocos2d中setBlendFunc设置颜色混合方案

    CCSprite有一个ccBlendFunc类型的blendFunc_结构体成员,可以用来设置描绘时的颜色混合方案.ccBlendFunc包含了一个src和一个dst,分别表示源和目标的运算因子. 如 ...

  3. HDOJ 1097 A hard puzzle

    Problem Description lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how ...

  4. ARC102D All Your Paths are Different Lengths

    传送门 题目大意 让你构造一个有向图,使得从1到n有L条不同路径且长度分别是0~L-1. 分析 我们不难想到每一对相邻点之间连一条权值为0的边,之后二进制分解,将每一对点之间连一个权值为2^i的边,但 ...

  5. Bulma 源码解析之 .container 类

    Bulma 的 .container 类是这样实现的. .container position: relative // 不设置桌面以下设备的 container +desktop margin: 0 ...

  6. c#中public,private,protected,internal的区别

    public   可以被外部成员调用  private   只能在被类的成员调用   protected   只能在被类的成员和该类的子类调用   internal   可以在当前项目调用   pub ...

  7. 读paper笔记[Learning to rank]

    读paper笔记[Learning to rank] by Jiawang 选读paper: [1] Ranking by calibrated AdaBoost, R. Busa-Fekete, B ...

  8. Android Android环境安装

    Android环境安装 一.下载: 所需:eclipse.sdk.jdk.adt 参考 工具下载地址:http://www.androiddevtools.cn/ 二安装: 1.eclipse: 选择 ...

  9. 如何在cuda内核函数中产生随机数(host端调用,device端产生)

    最近,需要在kernel函数中调用浮点型的随机数.于是上网搜了下相关资料,一种方式是自己手动写一个随机数的__device__函数,然后在调用的时候调用这个函数.另一种,原来cuda在toolkit中 ...

  10. CI框架源码学习笔记1——index.php

    做php开发一年多了,陆陆续续用过tp/ci/yii框架,一直停留在只会使用的层面上,关于框架内部的结构实际上是不甚了解的.为了深入的学习,决定把CI框架的源码从头到尾的学习一下, 主要因为CI框架工 ...