精华内容
下载资源
问答
  • 总结:kill进程的几种方法
    千次阅读
    2021-09-06 14:46:22


    ps -ef    //查看进程,或ps -aux
    kill -s 9 1827  //-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程.

    改进1:
    把ps的查询结果通过管道给grep查找包含特定字符串的进程。
    $ ps -ef | grep firefox
    smx       1827     1  4 11:38 ?        00:27:33 /usr/lib/firefox-3.6.18/firefox-bin
    smx      12029  1824  0 21:54 pts/0    00:00:00 grep --color=auto firefox
    这次就清爽了。然后就是
    $kill -s 9 1827

    改进2——使用pgrep:
    一看到pgrep首先会想到什么?没错,grep!pgrep的p表明了这个命令是专门用于进程查询的grep。
    pgrep firefox
    1827
    看到了什么?没错火狐的PID,接下来又要打字了:
    $kill -s 9 1827

    改进3——使用pidof:
    看到pidof想到啥?没错pid of xx,字面翻译过来就是 xx的PID。
    pidof firefox-bin
    1827
    和pgrep相比稍显不足的是,pidof必须给出进程的全名。然后就是老生常谈:
    $kill -s 9 1827
     无论使用ps 然后慢慢查找进程PID 还是用grep查找包含相应字符串的进程,亦或者用pgrep直接查找包含相应字符串的进程PID,然后手动
    输入给kill杀掉,都稍显麻烦。有没有更方便的方法?有!

    改进4:
    ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9
    说明:
    “grep firefox”的输出结果是,所有含有关键字“firefox”的进程。
    “grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。
    “cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
    “xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀掉指定
    进程。
    难道你不想抱怨点什么?没错太长了

    改进5:
    知道pgrep和pidof两个命令,干嘛还要打那么长一串!
    $ pgrep firefox | xargs kill -s 9

    改进6:
    $ ps -ef | grep firefox | awk '{print $2}' | xargs kill -9
    kill: No such process
    有一个比较郁闷的地方,进程已经正确找到并且终止了,但是执行完却提示找不到进程。
    其中awk '{print $2}' 的作用就是打印(print)出第二列的内容。根据常规篇,可以知道ps输出的第二列正好是PID。就把进程相应的PID通过xargs传递给kill作参数,杀掉对应的进程。

    改进7:
    难道每次都要调用xargs把PID传递给kill?答案是否定的:
    $kill -s 9 `ps -aux | grep firefox | awk '{print $2}'`

    改进8:
    没错,命令依然有点长,换成pgrep。
    $kill -s 9 `pgrep firefox`

    改进9——pkill:
    看到pkill想到了什么?没错pgrep和kill!pkill=pgrep+kill。
    $pkill -9 firefox
    说明:"-9" 即发送的信号是9,pkill与kill在这点的差别是:pkill无须 “s”,终止信号等级直接跟在 “-“ 后面。之前我一直以为是 "-s 9",
    结果每次运行都无法终止进程。

    改进10——killall:
    killall和pkill是相似的,不过如果给出的进程名不完整,killall会报错。pkill或者pgrep只要给出进程名的一部分就可以终止进程。
    $killall -9 firefox
     

    更多相关内容
  • kill命令 杀死进程

    2021-01-09 19:51:13
    kill命令可将指定的信号发送给相应的进程或工作。 kill命令默认使用信号为15,用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业。 语法格式:kill [参数] [进程号] 常用参数: ...
  • 学习 shell kill 特定进程的方法,有暴力的,也有温柔点的,看你的个人喜好了
  • linux kill杀不掉进程的原因,及解决办法.zip
  • oracle kill 进程

    2014-07-01 17:59:25
    oracle kill 进程
  • ubuntu kill进程

    千次阅读 2020-12-20 05:46:47
    写在前面:这是自己的学习笔记,如有侵权...如查看文件管理器进程:ps -A | grep nautilus如果不知道进程名称,则直接:ps -A查看所有,如下图所示:更详尽者,使用ps -ef查看所有进程,该条指令可以查看是哪个软件...

    写在前面:这是自己的学习笔记,如有侵权,请联系。

    有时会遇到ubuntu点击某程序或文件管理器死掉的情况,怎么点击都没有反应。可以考虑是程序阻塞的原因。

    一、查看进程

    首先,查看进程。如果知道该进程的CMD,则查看。

    如查看文件管理器进程:ps -A | grep nautilus

    如果不知道进程名称,则直接:ps -A查看所有,如下图所示:

    更详尽者,使用ps -ef查看所有进程,该条指令可以查看是哪个软件,如下图所示

    ps -aux更详尽些,自己试试看吧。

    当然,最省事儿的还是直接查看要结束的进程名称最好啦!这种情况,百度一下即可~

    查找到相应的进程及对应的PID之后,就可以执行结束指令了。

    二、结束进程

    1.kill

    作用:根据进程号杀死进程

    用法:kill [信号代码] 进程PID

    注意:kill -9 来强制终止退出

    特殊用法:

    kill -STOP [PID]:停止一个进程,而并不消灭这个进程。

    kill -CONT [PID]:重新开始一个停止的进程。

    kill -KILL [PID]:强迫进程立即停止,并且不实施清理操作。

    kill -9 -1:终止你拥有的全部进程。

    2.killall

    作用:通过程序的名字,直接杀死所有进程

    用法:killall 正在运行的程序名

    如killall -9 nautilus

    3.pkill

    作用:通过程序的名字,直接杀死所有进程

    用法:#pkill 正在运行的程序名

    如 pkill nautilus

    展开全文
  • 定位Linux下定位进程被KILL

    千次阅读 2021-05-09 00:08:14
    转载请注明出处 http://forever.blog.chinaunix.net 瀚海书香今天上午有个同事问,自己的进程被莫名其妙的杀死了,想知道是被那个进程误杀了。第一个想法是用kernel hack系统调用的方式,刚打算翻出hook的代码,想起...

    转载请注明出处 http://forever.blog.chinaunix.net 瀚海书香

    今天上午有个同事问,自己的进程被莫名其妙的杀死了,想知道是被那个进程误杀了。

    第一个想法是用kernel hack系统调用的方式,刚打算翻出hook的代码,想起了貌似audit不就是干这个的吗

    524bbc790290d6bff1c59e86d5fe1a13.gif

    #auditctl -a exit,always -S kill

    #auitctl -l

    #tail -f /var/log/audit/audit.log

    加上这个规则后,再用kill杀死一个进程就可以看到是谁干的了。

    type=SYSCALL msg=audit(1446528422.179:18502): arch=c000003e syscall=62 success=yes exit=0 a0=53f a1=8 a2=0 a3=53f items=0 ppid=1427 pid=2613 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=tty1 ses=1 comm="bash" exe="/usr/bin/bash" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)

    type=OBJ_PID msg=audit(1446528422.179:18502): opid=1343 oauid=0 ouid=0 oses=5 obj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 ocomm="top"

    pid=2613  表示这个进程发的kill信号;ppid=1427 表示这个进程的父进程;

    OBJ_PID的opid=1343 表示这个进程被kill了。

    如果只想检测某一个进程是否被kill了,可以利用系统调用的参数,以kill系统调用为例,第一个参数就是被kill的进程的pid,所以可以通过如下命令只检测某一个进程是被谁kill了。

    #auditctl -D //清空规则

    #auditctl -a exit,always -S kill -F a0=0x6e9

    -F参数表示额外匹配,这里选择匹配系统调用的第一个参数,参数内容是要监控进程的PID(这里要用16进制)。

    阅读(14041) | 评论(4) | 转发(1) |

    展开全文
  • shell脚本kill进程

    千次阅读 2021-03-11 17:45:07
    shell脚本kill进程 有需求要在shell脚本中kill进程:my_process 查到了这个方法 #!/bin/sh ID=`ps -ef | grep my_process | grep -v "grep" | awk '{print $2}'` echo $ID echo "---------------" for id in $ID do ...

    shell脚本kill进程

    有需求要在shell脚本中kill进程:my_process
    查到了这个方法

    #!/bin/sh
    ID=`ps -ef | grep my_process | grep -v "grep" | awk '{print $2}'`
    echo $ID
    echo "---------------"
    kill -9 $ID
    echo "killed $ID"
    echo "---------------"
    

    但是出现了错误提示:

    awk: not found
    

    直接在adb命令中执行awk相关命令有同样的报错。系统中缺少bin文件。为了不额外安装东西。找到了替换方案:

    #!/bin/bash
    ID=`ps | grep my_process | grep -v grep | cut -d " " -f 7`
    echo $ID
    echo "---------------"
    kill -9 $ID
    echo "killed $ID"
    echo "---------------"
    

    其中cut命令的默认字段分隔符是TAB,可以使用-d重新指定。 -f列出指定字段。具体数字是几,要看实际进程号的位置。我的进程号,在命令行中获取是这样的:

    xxx:/ # ps | grep my_process
    root      618   1     87080  16160 binder_thr 00ea1bb59c S /system/bin/my_process
    

    刚好第7个是进程号。可以在命令行试cut命令。
    但是这样写并不能适用所有情况。给cut加一个自己寻找进程号的过程。进程号一定是第二个不为空的字符。

    #!/bin/bash
    i=2
    ID=`ps | grep my_process | grep -v grep | cut -d " " -f $i`
    while [ -z "$ID" ]
    do
    	echo $i
    	((i++))
    	ID=`ps | grep my_process | grep -v grep | cut -d " " -f $i`
    done
    echo $ID
    echo "---------------"
    kill -9 $ID
    echo "killed $ID"
    echo "---------------"
    

    因为是在windows下创建的文件夹,直接push到设备里出现了问题,报错:

    xxx:/data # sh kill_my_process.sh
    : not foundervice.sh[3]:
    605
    ---------------
    : arguments must be jobs or process IDs
    killed
    ---------------
    609
    ---------------
    : arguments must be jobs or process IDs
    killed
    ---------------
    

    可以在Linux下创建文件。也可以在命令行中使用这个命令sed -i "s/\r//" kill_my_process.sh,将文件格式修改为Linux格式。

    参考:
    https://blog.csdn.net/buknow/article/details/103895858
    Shell脚本获取进程号并杀掉该进程解析
    https://blog.csdn.net/qq_42303254/article/details/85337214
    Linux下的shell编程之循环(for循环,while循环)和条件判断(if条件判断,case条件判断)
    https://blog.csdn.net/morebetter4hl/article/details/103471370
    arguments must be process or job IDs
    https://www.jianshu.com/p/12b344e39e4a
    情景linux–如何得出一个文件的第二列?
    https://www.jb51.net/article/165137.htm
    linux shell判断字符串为空的正确方法示例

    展开全文
  • 杀死进程 使用基于代码终止进程及其子进程 接口 var kill = require("killprocess") kill(pid, function(){ // process with pid terminated using SIGKILL signal }) kill(pid, "SIGINT", function(){ // ...
  • kill-process 根据端口号来查找一组进程,然后杀死这组进程。 安装 sudo npm install yibuyisheng/kill-process -g 使用 kill-process 8000 # 杀死占用 8000 端口的所有进程
  • Linux中查看进程及kill进程

    千次阅读 2018-04-09 09:23:34
    在我们进行开发时可能经常要遇到去服务器查看服务进程,或者进程卡死后要杀掉进程的问题。此处简单整理了进程相关的常用命令:ps命令为process status的缩写。用于显示瞬间的的进程动态。常用参数及使用命令:-A 列...
  • Linux批量kill进程

    千次阅读 2018-07-10 11:08:16
    python多进程写太多了,批量kill ps -ef | grep python | grep -v grep //列出所有名字有python的进程 ps -ef | grep python | grep -v grep | awk '{print "kill -9 "$2}' //打印kill到所有这些进程的...
  • 这个是平时在使用linux kil进程的一个 小知识点 可以看看........
  • Linux中Kill进程的N种方法

    万次阅读 2018-08-09 12:50:26
    linux的进程管理手段丰富。想怎么杀进程都可以。...$ kill -s 9 1827 其中-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。各个终止信号及其作用见附录。 1827则是上面ps查到的火狐的P...
  • 进程被kill后,子进程的归属

    千次阅读 2021-03-23 20:16:10
    一般来说如果我们启动了一个A进程,然后通过A进程再启动B进程,那么A进程就是B进程的父进程,或者说B进程是A进程的子进程。 那么如果这个时候我们强杀了A进程之后,B进程会处于什么状态呢?是继续运行还是也退出了...
  • linux kill进程没有立刻停止

    千次阅读 2021-05-11 09:17:09
    1、第一次执行进程不见了,启动失败2、第二次重启进程成功,但是在kill的时候提示进程不存在需要重启两次进程才能成功查看日志文件:第一次重启失败是因为端口占用,那么意味着进程没有被kill掉。第二次kill提示...
  • PID为32076及32077的僵尸进程占用了大量GPU资源,通过sudo kill -9 XXX 指令杀掉进程。 然而通过 nvidia-smi 显示,并没有成功杀掉。 这时候往往是因为其父进程还没结束,要将其父进程先杀掉。 通过以下指令...
  • adb 根据进程名称kill进程

    千次阅读 2020-05-21 09:41:33
    adb shell kill `adb shell ps | grep ...alias adbkill='_adbkill(){ adb root;adb shell kill `adb shell ps | grep $1 | awk {'\''print $2'\''} | head -n 1`; }; _adbkill' 这样就可以很方便地在终端中
  • Android kill 进程的方法

    千次阅读 2020-12-20 15:22:24
    一、结束一个活动Activity要主动的结束一个活动Activity,(先强调一下,是结束一个活动,而不是进程)是finish方法二、强制结束当前的进程强行结束当前进程有两个方法1、killProcess(int pid)Kill the process with ...
  • 根据进程名杀死进程 -kill进程

    千次阅读 2019-04-30 10:57:30
    前两天一个老师给我出了一个linux操作上的问题,现在知道进程名怎样杀死这个进程。或许很多人都会和我一样说用 ...我们知道kill 要杀死进程是需要知道进程的id的即进程号,其实这个思路就是需要通过其他命令获...
  • 西北乱跑娃 --- windows下kill进程

    千次阅读 2020-07-27 16:30:23
    1、 查看进程 查看8080端口 netstat -ano|findstr 8080 查看所有端口 netstat -ano 2、杀死端口 taskkill /f /pid 6244
  • linux进程管理及kill命令详解

    千次阅读 2021-05-10 06:36:00
    一丶进程管理Linux 是一种动态系统,能够适应不断变化的计算需求。Linux 计算需求的表现是以进程 的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务)。因此,对进程及其...
  • 更优雅的 kill 进程

    千次阅读 2018-10-15 12:45:49
    使用 unix 的时候常常需要 kill 一个进程,而我们又常常记不住进程的 pid,所有一般首先使用 ps 命令来打印系统中的进程,然后对 ps 得到的数据以进程名进行过滤,提取出相对应的 pid,以该 pid 为参数调用 kill 就...
  • Linux中Kill进程的10种方法

    千次阅读 2021-05-09 02:18:22
    常规篇:首先,用ps查看进程,方法如下:复制代码代码如下:$ ps -ef……smx 1822 1 0 11:38 ? 00:00:49 gnome-terminalsmx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helpersmx 1824 1822 0 11:38 pts/0 00:00:02 ...
  • Postgresql kill用户进程

    千次阅读 2019-05-06 09:23:50
    先查询用户进程PID,查询结果的第三列为pid select * from pg_stat_activity; 方法一: SELECT pg_terminate_backend(PID); 推荐的方法,可以kill掉各种操作(select、update、delete、drop等)操作 方法二: SELECT...
  • linux kill命令:(中止一个进程)

    千次阅读 2021-05-13 06:03:16
    1.作用kill命令用来中止一个进程。2.格式kill [ -s signal | -p ] [ -a ] pid …kill -l [ signal ]3.参数-s:指定发送的信号。-p:模拟发送信号。-l:指定信号的名称列表。pid:要中止进程的ID号。Signal:...
  • linux kill进程的正确姿势

    千次阅读 2021-11-19 16:35:18
    kill -15,等几秒钟如果进程还在,kill -2,还不行就kill -1,如果还不行,那就是你的进程给脸不要脸了,kill -9干它
  • 杀掉(kill)指定进程及其子进程

    千次阅读 2021-10-15 16:13:23
    我们想把他下面的子进程全部kill掉,如果挨个去kill那也太… 使用kill -9 -进程号就可以做到 更详细内容可参阅http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 329,801
精华内容 131,920
关键字:

被kill 进程