是这样的,从 Github 上安装的一个应用,只有后台进程。平时一直开机自启动,所以从来没管理他。
今天想中止后台,前台调试一下
一开始在 Activity Monitor 里搜索到进程,点击 quit ,没反应
再试试 Force quit ,还是没反应
在终端里用 kill pid 的方法,无效
用 sudo kill -9 pid 的方法,怪事出现了:他换了一个 pid 又运行了!🙈
1
qqzj 2016-01-12 10:12:35 +08:00
看下它的父进程 pid ,也一起结束了
Github 上安装的应用,是 Github 自己出的应用,还是上面开源的应用? |
2
mkeith 2016-01-12 10:17:10 +08:00
是不是以服务程序运行的啊
|
3
dotpig 2016-01-12 10:21:21 +08:00
看看 LaunchDaemon 以及 LaunchAgent 有没有它的启动项。
|
4
anguslg OP @qqzj 他并没有父进程。以前从来没出现过这个问题,直接在 activity monitor 就可以退出。
是 github 上开源应用, cow 。用了很久了,所以也很信任 |
7
ETiV 2016-01-12 10:28:06 +08:00 via iPhone 1
应该是 launchd 守护着
launchctl stop unload 啥的试一试 |
9
mkeith 2016-01-12 10:36:30 +08:00
你以前关掉了没看到被再次启动,所以你以为就关掉了
|
10
dotpig 2016-01-12 10:38:27 +08:00
看了一下 cow 的 LaunchAgent plist ,有下面的 key :
<key>KeepAlive</key> <true/> 这个是很强大的,理论上你杀死它的进程它就重开。 |
11
anguslg OP @mkeith 一般关后台是为了开启前台,如果后台开启,前台是不可能再开启一次的,端口冲突。以前确实是关掉了的。不过你提到服务的时候,我想到了 launchctl ,因为之前手动开后台就是这么开的
|
12
mkeith 2016-01-12 11:19:02 +08:00
那也可能你开了前台后台无法启动了吧,mac 上的守护好像是有时间间隔的
|
13
Havee 2016-01-12 11:24:11 +08:00
launchctl list
找找是否在里面 具体用法, launchctl help |
14
ferock 2016-01-12 11:45:15 +08:00 via iPhone
不用 cow ,效率问题,每次还需要检测网站是否可以连接
|
15
liuzuo 2016-01-12 15:16:19 +08:00
killall ss-local
|
16
woai110120130 2016-01-12 19:05:09 +08:00 via Android
kill -s 9
|