这个问题很奇怪。请注意,这不是android-studio问题,而是snap问题。android-studio只是一个行为不端的罪魁祸首,应该受到snap的约束。
android-studio是通过snap安装的。但是有时进程仍然挂在后台,在关闭android-studio之后占用大量的CPU (因此也会消耗电池的电量)。然后,我需要使用带有开关-9的进程ID手动杀死这些数据。
这真的是计划中的方法吗?和snap?
我试图在互联网上找到任何指针,但是在snap的帮助下,我完全失败了。这些命令似乎都不存在,或者没有任何帮助,或者完全错误。另外,snap文档似乎隐藏了我正在寻找的很好的一点(或者它丢失了吗?)
请注意,所有常见的事情都是没有问题的:
但是,我仍然感到困惑,how,我是否应该正确地控制一个应用程序包:
嗯,是snap,所以所有东西都包装整齐,对吧?当然,也有一些常见的简单方法,可以完全停止在这样一个快速容器中的所有东西,对吗?
例如,使用lxc-stop container,容器中的所有内容都会被撕毁。很简单。但在snap身上,我没有发现类似的东西。
以下是我尝试过并被其他页面部分推荐的内容:
$ snap status
error: unknown command "status", see 'snap help'.$ snap stop android-studio
error: access denied (try with sudo)它是作为用户启动的,所以同一个用户必须能够再次停止它。sudo当然可以到达这里,但是让我们重新尝试使用sudo:
$ sudo snap stop android-studio
error: snap "android-studio" has no services$ killall android-studio
android-studio: no process found但是,对于ps和top或htop,有一些进程(当然,部分是java ):
$ ps auxwww | grep android
tino 14352 0.0 0.0 2616 1732 ? S 12:48 0:00 /bin/sh /snap/android-studio/101/android-studio/bin/studio.sh
tino 14428 4.7 10.6 5042148 420488 ? Sl 12:48 2:19 /snap/android-studio/101/android-studio/jre/bin/java -classpath /snap/android-studio/101/android-studio/lib/bootstrap.jar:/snap/android-studio/101/android-studio/lib/extensions.jar:/snap/android-studio/101/android-studio/lib/util.jar:/snap/android-studio/101/android-studio/lib/jdom.jar:/snap/android-studio/101/android-studio/lib/log4j.jar:/snap/android-studio/101/android-studio/lib/trove4j.jar:/snap/android-studio/101/android-studio/lib/jna.jar:/snap/android-studio/101/android-studio/jre/lib/tools.jar -Xms256m -Xmx1280m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -Djna.nosys=true -Djna.boot.library.path= -Didea.vendor.name=Google -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine -Dsun.tools.attach.tmp.only=true -XX:ErrorFile=/home/tino/java_error_in_STUDIO_%p.log -XX:HeapDumpPath=/home/tino/java_error_in_STUDIO.hprof -Didea.paths.selector=AndroidStudio4.1 -Djb.vmOptionsFile=/snap/android-studio/101/android-studio/bin/studio64.vmoptions -Didea.platform.prefix=AndroidStudio -Didea.jre.check=true com.intellij.idea.Main
tino 45016 0.0 0.0 11128 2452 pts/12 S+ 13:37 0:00 grep --color=auto android
$ kill 14352
$ kill 14352
-bash: kill: (14352) - No such process
$ kill 14428
$ kill 14428
$ ps auxwww | grep android
tino 14428 4.7 10.6 5042148 420488 ? Sl 12:48 2:19 /snap/android-studio/101/android-studio/jre/bin/java -classpath /snap/android-studio/101/android-studio/lib/bootstrap.jar:/snap/android-studio/101/android-studio/lib/extensions.jar:/snap/android-studio/101/android-studio/lib/util.jar:/snap/android-studio/101/android-studio/lib/jdom.jar:/snap/android-studio/101/android-studio/lib/log4j.jar:/snap/android-studio/101/android-studio/lib/trove4j.jar:/snap/android-studio/101/android-studio/lib/jna.jar:/snap/android-studio/101/android-studio/jre/lib/tools.jar -Xms256m -Xmx1280m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -Djna.nosys=true -Djna.boot.library.path= -Didea.vendor.name=Google -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine -Dsun.tools.attach.tmp.only=true -XX:ErrorFile=/home/tino/java_error_in_STUDIO_%p.log -XX:HeapDumpPath=/home/tino/java_error_in_STUDIO.hprof -Didea.paths.selector=AndroidStudio4.1 -Djb.vmOptionsFile=/snap/android-studio/101/android-studio/bin/studio64.vmoptions -Didea.platform.prefix=AndroidStudio -Didea.jre.check=true com.intellij.idea.Main
tino 45020 0.0 0.0 11128 2544 pts/12 S+ 13:37 0:00 grep --color=auto android
$ kill -9 14428
$ kill -9 14428
-bash: kill: (14428) - No such process显然,有些人是顽固派,需要-9被杀!
备注:
killall java,因为这会影响其他java应用程序。/proc,以排序属于snap的进程并对其进行操作。snap的命令,而不是基于snap内部的一些独立的外部命令来重新发明轮子。snap发布于 2021-04-04 12:10:55
snap是一个用于应用程序分发和安装的系统。从安装为snap的程序中产生的进程与运行在系统上的任何其他软件的进程没有什么不同,因此要进行相同的管理。
换句话说,没有任何特定的进程与软件相关联,作为一个简单的安装。每个软件包都会导致启动一个或多个进程。这些是特定于软件的。
因此,对于“如何停止快速包装的过程”这一问题,不能给出一般的答案。如果你省略了“简单”这个词,这句话也同样适用。所以,一个具体的答案只有在特定的软件中才有可能。
发布于 2023-01-16 18:42:11
如果snap拒绝刷新某些内容,因为它有正在运行的进程,那么您可以通过运行以下命令来精确地找出它们是什么:
# snap refresh my-awesome-app如果存在正在运行的进程,它将响应类似于以下内容的内容:
error: cannot refresh "my-awesome-app": snap "my-awesome-app" has running apps (my-awesome-app), pids:
1210273,1210277,1210278你可以杀了他们:kill 1210273 1210277 1210278
之后,再试一次snap refresh。
https://askubuntu.com/questions/1329139
复制相似问题