V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anguslg
V2EX  ›  macOS

请教杀死 Mac 进程的正确姿势

  •  
  •   anguslg · 2016-01-12 10:04:21 +08:00 · 7404 次点击
    这是一个创建于 3043 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是这样的,从 Github 上安装的一个应用,只有后台进程。平时一直开机自启动,所以从来没管理他。

    今天想中止后台,前台调试一下
    一开始在 Activity Monitor 里搜索到进程,点击 quit ,没反应
    再试试 Force quit ,还是没反应
    在终端里用 kill pid 的方法,无效
    用 sudo kill -9 pid 的方法,怪事出现了:他换了一个 pid 又运行了!🙈

    第 1 条附言  ·  2016-01-12 13:34:37 +08:00
    已经用 launchctl 搞定了,谢谢各位
    16 条回复    2016-01-12 19:05:09 +08:00
    qqzj
        1
    qqzj  
       2016-01-12 10:12:35 +08:00
    看下它的父进程 pid ,也一起结束了

    Github 上安装的应用,是 Github 自己出的应用,还是上面开源的应用?
    mkeith
        2
    mkeith  
       2016-01-12 10:17:10 +08:00
    是不是以服务程序运行的啊
    dotpig
        3
    dotpig  
       2016-01-12 10:21:21 +08:00
    看看 LaunchDaemon 以及 LaunchAgent 有没有它的启动项。
    anguslg
        4
    anguslg  
    OP
       2016-01-12 10:21:53 +08:00
    @qqzj 他并没有父进程。以前从来没出现过这个问题,直接在 activity monitor 就可以退出。
    是 github 上开源应用, cow 。用了很久了,所以也很信任
    anguslg
        5
    anguslg  
    OP
       2016-01-12 10:23:06 +08:00
    @dotpig 是我手动添加到 LaunchAgent 目录的,但是之前一直可以手动关闭进程,唯独这次
    anguslg
        6
    anguslg  
    OP
       2016-01-12 10:27:08 +08:00
    @mkeith 是的,因为用了很久,之前都是随时关闭随时开启。今天不知何故
    ETiV
        7
    ETiV  
       2016-01-12 10:28:06 +08:00 via iPhone   ❤️ 1
    应该是 launchd 守护着

    launchctl stop unload 啥的试一试
    anguslg
        8
    anguslg  
    OP
       2016-01-12 10:36:18 +08:00
    @ETiV 用 launchctl unload 搞定了!
    mkeith
        9
    mkeith  
       2016-01-12 10:36:30 +08:00
    你以前关掉了没看到被再次启动,所以你以为就关掉了
    dotpig
        10
    dotpig  
       2016-01-12 10:38:27 +08:00
    看了一下 cow 的 LaunchAgent plist ,有下面的 key :
    <key>KeepAlive</key>
    <true/>
    这个是很强大的,理论上你杀死它的进程它就重开。
    anguslg
        11
    anguslg  
    OP
       2016-01-12 10:41:39 +08:00
    @mkeith 一般关后台是为了开启前台,如果后台开启,前台是不可能再开启一次的,端口冲突。以前确实是关掉了的。不过你提到服务的时候,我想到了 launchctl ,因为之前手动开后台就是这么开的
    mkeith
        12
    mkeith  
       2016-01-12 11:19:02 +08:00
    那也可能你开了前台后台无法启动了吧,mac 上的守护好像是有时间间隔的
    Havee
        13
    Havee  
       2016-01-12 11:24:11 +08:00
    launchctl list

    找找是否在里面

    具体用法, launchctl help
    ferock
        14
    ferock  
       2016-01-12 11:45:15 +08:00 via iPhone
    不用 cow ,效率问题,每次还需要检测网站是否可以连接
    liuzuo
        15
    liuzuo  
       2016-01-12 15:16:19 +08:00
    killall ss-local
    woai110120130
        16
    woai110120130  
       2016-01-12 19:05:09 +08:00 via Android
    kill -s 9
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2795 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:39 · PVG 14:39 · LAX 23:39 · JFK 02:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.