问题标签 [kill-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
17108 浏览

android - 为什么调用 Process.killProcess(Process.myPid()) 是个坏主意?

我读过一些帖子,说使用这种方法“不好”,不应该使用,这不是“关闭”应用程序的正确方法,也不是 Android 的工作方式......

我理解并接受 Android 操作系统比我更清楚何时终止进程的正确时间这一事实,但我还没有听到关于为什么使用该killProcess()方法是错误的很好的解释。毕竟 - 它是 Android API 的一部分。

我所知道的是,在其他线程正在执行潜在的重要工作(文件操作、写入数据库、HTTP 请求、运行服务..)时调用此方法会导致线程被终止,这显然不好。另外,我知道我可以从“重新打开”应用程序会更快的事实中受益,因为系统从上次使用应用程序时仍然“保持”在内存状态,并killProcess()防止这种情况发生。

除了这个原因,假设我没有这样的操作,并且我不在乎我的应用程序是否每次打开它都会从头开始,还有其他原因我不应该使用该killProcess()方法吗?

我知道finish()关闭 an 的方法Activity,所以请不要在你的答案中包含它。

finish()仅适用于Activity,并非适用于所有应用程序,我想我确切地知道为什么以及何时使用它。

还有一件事——我正在使用 Unity3D 框架开发游戏并将项目导出到 Android。当我对生成的apk进行反编译时,我很惊讶地发现从unity-实现Unity的-Application.quit()方法创建的java源代码,带有Process.killProcess(Process.myPid()).

Application.quit()根据 Unity3D 文档,应该是关闭游戏的正确方法(真的吗?也许我错了,错过了什么),那么为什么 Unity 的框架开发人员要在原生 Android 中实现这一点?

0 投票
0 回答
744 浏览

android - 使用即将挂载的sdcard时如何避免应用程序被杀死?

假设我在 SD 卡上有繁重的工作(比如 CRC 检查、下载或任何你能想到的)。事实证明,如果用户在应用程序运行期间挂载 SD 卡(或移除它),应用程序将自动被操作系统杀死而不会发出任何警告。

我想避免它,而不是退出。相反,我想在可能的情况下停止工作并恢复(或做其他事情,只是不被杀死)。

所以,简而言之,我的问题正如标题所说:当安装 SD 卡时,如何避免我的应用程序在使用 sdcard 时被杀死?

我尝试了以下方法:

  1. 捕获所有异常。这不起作用,因为该应用程序被简单地杀死了。

  2. 通过广播接收器收听安装的意图。没有工作,因为应用程序在捕捉到意图之前就被杀死了。

  3. 检查sd卡的状态。这不起作用,因为可以在检查和写入之间完成安装。

我也许可以创建一个新服务来处理与 sd 卡相关的所有事情,并为其提供自己的进程,但这真的是解决方案吗?它甚至会起作用吗?没有其他方法可以解决这个问题吗?

作为示例代码,您可以使用下面的代码。它只是为了解决问题:

注意:当然我开发的应用程序安装在内部存储中。我知道安装在 sd 卡上的应用程序不会被杀死是没有意义的。当然,这也可能是一个有趣的问题(甚至可以避免安装 sd 卡?),但这不是这里的问题。

0 投票
1 回答
35179 浏览

linux - 使用名称启动进程

基本上我想动态启动一些可能创建自己的子进程的进程,我也想随时杀死我刚刚创建的某个进程组。我能想到的一种方法是使用名称启动进程(以区分为一个组),然后使用 pkill 按名称杀死它们。问题是如何使用名称启动进程,以便我可以使用 pkill 按名称杀死它们?我也对其他解决方案持开放态度。

0 投票
1 回答
1083 浏览

kill-process - 使用 Microsoft.Office.Interop.Excel 时终止 EXEL.EXE 进程

可能重复:
终止互操作应用程序进程

我正在使用 Microsoft.Office.Interop.Excel 以从 excel 中获取数据。即使我清除了 COM 对象,它仍然会在后台留下一些 EXEL.EXE 实例。检查下面的代码。

请告诉我哪里出错了。

0 投票
1 回答
2448 浏览

php - 从浏览器运行时 posix_kill 不起作用

我有一个简单的脚本,它试图杀死一个已经在运行的进程。我也在使用 posix_kill 。该脚本运行良好,如果我从命令 shell 运行它,但是当我从浏览器运行它时它不起作用。

我总是得到以下输出,这意味着脚本执行得很好,但进程没有被杀死: process id -- 4632 array (size=3) 0 => string '' (length=0) 1 => string '4633' (length=4) 2 => string '' (length=0) Killing 4633

我检查了 apache“error.log”文件,发现对于我从浏览器执行的每次运行,附加条目添加如下:[Sat Jun 23 12:24:55 2012] [error] [client 127.0. 0.1] 文件不存在:/var/www/favicon.ico

不幸的是,这个错误并没有给我太多关于出了什么问题的信息。我检查了 php.ini 设置,似乎没有任何问题(根据我的有限理解)。我在“disabled_functions”列表等或任何其他应该阻止我执行进程的设置中看不到 posix_kill。

真诚地感谢一些帮助!

谢谢,卡皮尔

0 投票
2 回答
14204 浏览

php - fclose(): 18 不是有效的流资源

我正在尝试使用 proc_open 执行进程。进程的 I/O 由管道处理!

现在,碰巧的是,有时我打开的“c 程序”确实卡住了,我添加了一个 max_time_limit 检查,它会强制关闭进程。我添加了回调函数 - 即 onExit -(使用“call_user_function”)以在“进程退出”时以有效方式或强制方式处理信息。

在“退出”功能中,我正在关闭 i/o 管道

如果进程有一个有效的退出,上面的工作非常好。但是,在我强行终止进程的情况下,我调用了 proc_terminate 来执行此操作。我知道进程的终止也会继续并关闭任何 I/O 管道,但问题是由于回调,我的“onExit”函数进程总是被调用(这就是我想要的方式.. .因为我需要做更多的处理)。现在,在这种情况下,当我尝试关闭管道时,我收到以下错误:

我尝试使用“ftell”来检查管道是否有效,但这也出错了。如何检查管道是否已经关闭?

0 投票
5 回答
57271 浏览

windows - 如何杀死 node.js 上的打开进程?

我正在尝试在 sublime 上为 Node.js 设置一个构建系统,所以我可以按 F7 在打开的文件上调用“节点”。问题是该进程将永远打开,因此,我第二次使用 F7 时,我得到了一个附加使用。

有没有办法可以从 node.js 中杀死打开的“node.exe”进程?

0 投票
2 回答
2223 浏览

javascript - Javascript Process Kill with pass in name

我正在寻找一个简短的 javascript 代码来杀死在我的 windows 机器上运行的进程(我正在 7 上开发程序,但它必须在服务器 2003 上的生产中运行)。我从以下代码开始:

我需要使被杀死的过程成为我传递的东西。有许多不同的东西要杀死,我有另一个程序可以确定要杀死的东西。

我现在有以下代码,但它仍然不起作用:

0 投票
31 回答
1808389 浏览

linux - 如何杀死Linux中特定端口上运行的进程?

我尝试使用./shutdown.shfrom tomcat/bin目录关闭 tomcat。但是发现服务器没有正常关闭。因此我无法重新启动
我的 tomcat 正在端口上运行8080

我想杀死运行在8080. 我首先想要在特定端口(8080)上运行的进程列表,以便选择要杀死的进程。

0 投票
1 回答
312 浏览

c# - 杀死多线程进程

视窗手机 6.5

我有一个使用 System.Threading.Timer 以指定的时间间隔将一些数据上传到网络的进程。

现在我想从一个 GUI 应用程序中终止这个过程。我可以使用进程枚举器来获取 Process 对象。当我调用 Process.Kill 时会发生什么?它是否会终止它,该过程可能正在从本地数据库读取/删除数据并将其发送到服务。我该怎么做才能确保至少如果它在中间它不会终止,并且一旦它完成它可以在下一个 Timer 事件触发之前终止?