问题标签 [termination]

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 投票
3 回答
531 浏览

ruby - 在子shell中退出红宝石而不杀死父母

我有 Ruby programA 调用 Ruby programB :

在某些情况下,我希望 programB 终止其操作(以及相关的子 shell),但允许 programA 继续执行下一组参数。

但是,exit()abort()杀死子外壳和父外壳,我无法Process.kill("SIGTERM",0)在 programB 中工作(不幸的是,这是在 Windows 上)。我正在运行 ruby​​ 1.9.2。

如何在不杀死程序A的情况下终止程序B?

0 投票
3 回答
1371 浏览

android - Adobe Flash Builder Flex Mobile Android:避免用户可以关闭应用程序

我正在为安卓开发一个应用程序。我并不总是清楚应用程序何时会被操作系统终止。有时当您按下返回按钮时会发生这种情况,有时当您按下主页按钮时会发生这种情况。这背后的逻辑是什么?

我的应用程序必须在很长一段时间内保持激活(当您运行它时,应用程序必须保持常驻)。还有一个问题是是否可以在事件进入时弹出并激活屏幕并将其带到前面。

有人已经做了这个吗?或者是否有更多关于此的信息(如何做)。搜索互联网,但没有找到一些有用的东西。

0 投票
3 回答
409 浏览

termination - Agda:子集合的等价关系

我想在CoList (Maybe Nat)s 上定义一个仅考虑justs 的相等性。当然,我不能只是从CoList (Maybe A)to 开始CoList A,因为那不一定是富有成效的。

那么,我的问题是如何定义这样的等价关系(不考虑可判定性)?如果我可以将无限just尾视为不等价,它是否有帮助?

下面的@gallais 建议我应该能够天真地定义这种关系:

但是证明它的传递性会从终止检查器中进入(预期的)问题:

所以我试着让双方都不nothing那么模棱两可的情况(就像@Vitus建议的那样):

但现在我不知道如何定义有问题的情况trans(我留下一个洞的情况)

0 投票
2 回答
114 浏览

c - 用户终止程序时如何关闭初始化的连接

我用 C 语言编写了一个守护进程,它使用libpq库将数据发布到 PostgreSQL 数据库。它有这样的结构:

当有人杀死应用程序时,它会在 PostgreSQL 服务器上留下开放连接。我想避免这种情况。在 export(...) 函数中打开和关闭连接不是一个选项,因为此代码是性能相关框架的一部分。

0 投票
1 回答
371 浏览

c - ISO C 是否允许分配的内存在程序终止后挂起?

我的一些同事提出了一个有趣的观点,其中一些人声称无论如何你都应该free记住你。malloc虽然我一直认为这是一个很好的做法,但其他一些人认为在这样的程序中没有必要:

他们声称当进程退出时内存将被清理。

现在,作为当地标准的超级极客,他们找我澄清,令我惊讶的是,似乎永远自由的人群实际上可能是正确的。

转到 C11, 5.1.2.2.3 Program termination,它只是声明到达末尾main与调用 相同exit

7.22.4.4 The exit function列出那些被清理的东西,特别是:

  • 调用所有atexit处理程序。
  • 刷新所有未写入缓冲的打开流。
  • 所有打开的流都关闭。
  • 创建的所有文件tmpfile都已关闭。
  • 控制权返回给环境。

没有提到清理分配的内存。

现在看6.2.4 Storage duration of objects,它提到了四个存储持续时间,其中“分配”是这里感兴趣的一个。它进一步指出:

分配的存储在 7.22.3 中描述。

7.22.3 Memory management functions规定我们所有喜欢的人的行为,例如mallocfree。它从来没有提到在进程终止之前尚未释放的内存会发生什么。它简单地说:

已分配对象的生命周期从分配一直延伸到解除分配。

请记住,这不是关于实现做什么的问题——我很清楚,几乎我见过的每个实现都将其内存区域存储在进程空间中,并且在进程退出时将其丢弃。这是 ISO C 标准所允许的。

我在标准中找不到任何要求这种“终止时释放”行为的东西,因此分配内存在进程终止后幸存下来的实现是可行的(malloc例如,考虑使用持久共享内存的)。

所以这就是问题所在。分配的内存是否有可能(根据 ISO C)即使在分配它的进程消失后仍可能继续消耗资源?

或者我是否遗漏了标准中的某些内容?

0 投票
1 回答
67 浏览

android - 在应用程序更新之前向用户发出警告(可能自动)

在准备应用程序的新版本时,我发现以前的版本在所有情况下都不会将程序状态保存到永久存储中。因此,执行更新时,此信息可能会丢失。

有没有办法警告用户这个错误,并建议他们如何确保在执行更新之前正确保存程序状态?

谢谢

0 投票
2 回答
115 浏览

java - 如何安全地将线程生命周期绑定在一起,涉及 SQLite

抱歉标题我真的不知道如何将问题放入标题中,如果有人可以更好地提出问题,请更正它!

所以无论如何,在我的程序中,我有 2 个线程,一个是主程序,运行 GUI 以及与用户有关的所有内容,当它创建时,它创建一个线程,仅用于检查网站以查看是否有任何更新可用到程序使用的 SQLite 数据库,如果有,它会以 JSON 格式提取信息,然后必须使用插入查询更新数据库(这显然是通过围绕数据库解析器的同步方法完成的,以确保用户'在更新数据库时不访问数据)。这一切都很好。

但是,当程序关闭并且主类终止时,更新线程也必须尽快停止,但是它可能需要停止与数据库交互并关闭它,以及中断自身。我认为我需要中断线程并在数据库打开时关闭数据库,但是如何在主线程死后立即触发它?它不使用循环,所以我无法检查 thread1 是否还活着......

这是迄今为止更新程序的重要代码:

那么当主线程死亡时,我如何确保更新程序死亡?被 JVM 杀死的线程是否会抛出异常或进行任何类型的清理函数调用,我可以覆盖以杀死更新程序并关闭数据库?

编辑:好的,我找到了解决方案,但我仍然愿意接受更好的想法......

这是附加到 GUI 的 JFrame 的:

其中 kill 中断更新程序并确保数据库已关闭:D

编辑2 :似乎当GUI关闭时,程序几乎总是在所有清理完成发出InterruptedException ,我用一些调试语句证明了这一点,而且我发送错误的调试文件没有选择它up (即程序完全关闭)并且异常的堆栈跟踪从不谈论我的代码或与此相关的任何内容:

有人知道为什么会这样吗?wait 在我的代码中实际上从未被称为,所以它必须是别的东西......

0 投票
2 回答
1341 浏览

c - 信号终止处理程序和清理操作

我必须管理以下信号:SIGHUP, SIGINT, SIGQUIT,SIGTERM 下面的代码是一个示例SIGHUP

我的想法是重新激活信号的默认处理,即终止进程并在清理操作后重新引发相同的信号。

我如何传递sig给关机功能sa.sa_handler = handler;

此外,在这些情况下,通常会采取哪些清洁措施?我的场景是带有 TCP 套接字和一些打开文件的单线程服务器。

0 投票
2 回答
3434 浏览

iphone - 如何正确停止当前运行的 xCode 项目?

这听起来像是一个愚蠢的问题,但是随着 iOS 6 viewDidUnload 不再被调用,我对如何正确终止当前正在开发设备上使用 xCode 调试的 iOS 应用程序很感兴趣。按下下方的停止按钮是否足够?

在此处输入图像描述

当我按下那个按钮时究竟会发生什么?这是否相当于向应用程序发送停止信号,立即终止应用程序?是否调用了任何 dealloc 代码?我问的原因是,在使用启动/停止进行重复调试后,我遇到了一个问题,我的应用程序似乎存在随机内存问题(分析时未检测到泄漏)。

感谢您的想法!

0 投票
2 回答
862 浏览

php - 用户在 set_time_limit PHP 时定义函数调用

我想在一段时间内运行一个文件。我可以为此使用 set_time_limit 函数。但我想在终止时调用一个函数。这个函数是必须调用的。否则我将无法再次运行此文件。

当 set_time_limit 限制满足时,有什么方法可以在终止时调用函数。?