抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

关于 Android Studio Java 残留进程导致 Linux 无法正常关机的问题

之前刚开始的时候一切正常,慢慢的当项目运行的次数多了,缓存大了,Gradle 慢慢的也开始不好使了,

对于 Gradle 这种基于 jvm 的进程 OOM 是常事儿,但每天下班是刚需啊,到点下班可不能因此耽误了~

那么就使出 Linux 的绝招吧:Terminal我用的 zsh ,所以在 ~/.zshrc 加上了一句:

alias sdn="kill -9 $(ps -ef | pgrep -f 'java') && shutdown now"

需要的时候打开终端,输入 sdn 完事儿了,但前提是得先手动关闭 Android Studio 的项目窗口 !!! 不然代码丢失可就难受了!!!

sdn 不好听,但也懒得取名,shutdown now 缩写了下~

仅清理残余 gradle 进程

在使用的过程中发现,很多时候还是需要手动清理 gradle 进程,原因是已经 OOM 了,但是 Android studio 并没有反应过来,此时需要手动结束进程,但并不需要关闭 Android studio,在观察我的 java 相关进程后发现,AS 的主进程 pid 会小于 10000,而新启动的 gradle 进程都会大于 20000,所以此时,命令可以改为:

kill -9 $(ps -ef | pgrep -f 'java' | awk '$1 > 10000 {print $1}')

也同样可以进行别名设置:

alias kj="kill -9 $(ps -ef | pgrep -f 'java' | awk '$1 > 10000 {print $1}')"

以上。

后续:

发现使用 alias 执行无法杀多个 pid,直接执行却可以,能力有限,原因暂时未知。

参考:

如何监控GPU使用情况并杀死指定其中进程


本站由以下主机服务商提供服务支持:

0条评论

发表评论