Nott
V2EX  ›  问与答

求助:如何 kill 掉循环运行的脚本

  •  
  •   Nott · Sep 13, 2024 · 1956 views
    This topic created in 653 days ago, the information mentioned may be changed or developed.

    之前 Mac 连接蓝牙音响,几分钟不播放声音的话,音响就会关机,于是用这样一个脚本来循环发出一个没有声音的操作:

    #!/bin/bash
    while true; do
      afplay /System/Library/Sounds/Glass.aiff -v 0.01
      sleep 300
    done
    

    然后开机运行,

    最近,换了插线的音响,就想把这个脚本删掉,开机启动项里也删掉了,crontab 里也没有,sh 文件也删掉了,可是他还在后台自动循环,烦人的是,每隔几分钟就弹出来 Music.app ,播放视频还一会儿一暂停。

    ps aux | grep KeepSound.sh 查找出来 PID 还在不断增量变化,

    特来求助,如何干掉这个脚本?

    13 replies    2024-09-13 13:51:43 +08:00
    ysc3839
        1
    ysc3839  
       Sep 13, 2024 via Android
    重启系统?
    heijiahei
        2
    heijiahei  
       Sep 13, 2024
    试试循环 pkill ?
    Nott
        3
    Nott  
    OP
       Sep 13, 2024
    @ysc3839 删掉脚本第一时间就试了,不行
    moudy
        4
    moudy  
       Sep 13, 2024 via iPhone
    怎么感觉真正运行的脚本你没删掉呢?
    sagaxu
        5
    sagaxu  
       Sep 13, 2024
    你要 kill 掉这个 bash 进程才能停止循环
    aminobody
        6
    aminobody  
       Sep 13, 2024
    alexsz
        7
    alexsz  
       Sep 13, 2024
    @moudy #4 应该是,OP 杀的是 bash 进程 还是 KeepSound.sh 的进程,循环可能是在另一个子 shell 中运行
    Maboroshii
        8
    Maboroshii  
       Sep 13, 2024
    看脚本的 parent 进程是哪个? pwdx 看下真实路径在哪里, 应该是没被删掉
    swLoXtOtd89pGg8t
        9
    swLoXtOtd89pGg8t  
       Sep 13, 2024
    通过 pid 找到他的父进程,ppid ,看看是哪个父进程触发的。
    kokutou
        10
    kokutou  
       Sep 13, 2024 via Android
    你不想重启吗。。。
    kenvix
        11
    kenvix  
       Sep 13, 2024 via Android
    直接 systemctl kill 把整个 slice kill 掉
    Tiande
        12
    Tiande  
       Sep 13, 2024
    编写一个在 macOS 下循环 kill 所有包含“KeepSound.sh”的进程的脚本。以下是一个简单的 Bash 脚本示例:

    ```bash
    #!/bin/bash

    while true; do
    # 查找包含“KeepSound.sh”的进程并逐个 kill
    for pid in $(pgrep -f KeepSound.sh); do
    kill $pid
    echo "Killed process with PID $pid"
    done

    sleep 1 # 暂停 1 秒后继续下一轮循环
    done
    ```

    你可以将上述脚本保存为一个文件(比如 `kill_keep_sound_processes.sh`),然后在终端中运行该脚本。请确保在运行脚本时具有足够的权限以执行 kill 操作。

    注意:请谨慎使用这个脚本,确保你真的想要终止所有包含“KeepSound.sh”的进程,以免造成意外损失。
    Nott
        13
    Nott  
    OP
       Sep 13, 2024
    @heijiahei 感谢,pkill -9 KeepSound.sh 干掉了
    也感谢楼上各位的指点
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2784 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 12:28 · PVG 20:28 · LAX 05:28 · JFK 08:28
    ♥ Do have faith in what you're doing.