问题标签 [abort]

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 回答
6153 浏览

c# - 使用控制台应用程序卡在 C# 中的 GenerateConsoleCtrlEvent

我正在努力让它发挥作用,希望你们中的一个人以前做过。

我有一个 C# 控制台应用程序,它正在运行一个继承其控制台的子进程。我希望将外部应用程序捕获的 ctrl-c 传递给内部应用程序,以便它有机会很好地关闭。

我有一些非常简单的代码。我启动一个进程,然后使用 WaitForExit(10) 轮询它。我还注册了一个 CancelKeyPress 处理程序,它在触发时将 bool 设置为 true。轮询循环也会检查这一点,当它为真时,它会调用 GenerateConsoleCtrlEvent()(我已通过 pinvoke 映射)。

我已经尝试了很多参数组合到 GenerateConsoleCtrlEvent()。第一个参数为 0 或 1,第二个参数为 0 或子进程的 ID。似乎没有任何效果。有时我得到一个错误的回复并且 Marshal.GetLastWin32Error() 返回 0,有时我得到一个真实的回复。但没有一个会导致子应用程序收到 ctrl-c。

可以肯定的是,我编写了一个测试 C# 应用程序作为子应用程序,它打印出它发生了什么,并验证了在它运行时手动键入 ctrl-c 确实会导致它退出。

几个小时以来,我一直在努力解决这个问题。谁能给我一些关于该去哪里的指示?

0 投票
5 回答
74582 浏览

c++ - What is the difference between exit() and abort()?

In C and C++, what is the difference between exit() and abort()? I am trying to end my program after an error (not an exception).

0 投票
5 回答
1503 浏览

.net - 什么会导致 .NET 进程/线程意外终止?

我正在尝试收集 .NET 进程或线程终止原因的完整列表,即使 main() 方法由 try...catch 子句保护。

其中一个原因是 Thread.Abort()(除非您调用 Thread.ResetAbort)。你知道更多的原因吗?

0 投票
2 回答
374 浏览

multithreading - 我怎样才能强加自己的超时?

我必须使用 API 来调用第三方,并且最好使用它返回的响应。API 有一个内置的 30 秒超时,并且不允许您以编程方式设置它。我需要它在 12 秒内超时。这是我正在打的电话:

字符串响应 = theAPI.FunctionA(a, b, c, d);

我一直在想我可能需要使用异步调用来完成这个并在 12 秒时中止线程。另一个stackoverflow问题似乎接近我正在考虑的问题:Implement C# Generic Timeout

...我只是想知道这是否是最好的方法。具体来说,我一直看到警告您无论如何都要调用 EndInvoke 的文章,我想知道引用示例中的 Abort 是否仍会适当地关闭线程?我看到有一些评论非常关注使用 Abort。

0 投票
3 回答
2689 浏览

c# - Thread being aborded error

We have an application that can create e-books. This application has an export module that creates an AIR file but this can take a while (some books have 2500 pages). If we export we get the following error:

I've changed my runtime executiontimeout to 3600 secs but it keeps crashing arround 3 minutes. so it is time related ... everytime we approach the 3 minutes it crashes, I hope someone can help me out.

0 投票
9 回答
26215 浏览

c++ - C++:如何为任意函数调用实现超时?

不幸的是,我需要调用一个有时不会在给定时间内终止的库函数。有没有办法调用该函数但如果它没有在n几秒钟内终止则中止它?

我不能修改函数,所以我不能直接把中止条件放进去。我必须在外部为函数添加超时

将它作为(增强)线程启动是否可能是一种可能的解决方案,然后我可以在一段时间后终止它?这样的东西会起作用吗?我实际上相信该函数不是线程安全的,但是如果我将它作为唯一的单线程运行,那也没关系,对吧?还有其他(更好的)解决方案吗?

0 投票
3 回答
6025 浏览

installation - 如何使用 Inno Setup 取消安装程序?

我正在使用 Inno 安装程序来安装我的产品,在安装程序中,如果该程序被取消或中止,我将执行一个外部程序 (Validator.exe),我必须取消我自己的安装程序。

我将 Validator.exe 保存在 {app} 路径中并执行它。

当安装程序运行时,我调用 Validator.exe 文件并获得执行结果:Exec(ExpandConstant('{app}/Validator.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode)。

但这是我尝试过的所有解决方案的问题:

InitializeSetup:Validator.exe 文件尚未复制到 {app} 中,因此永远不会执行。

中止:只能在 (InitializeSetup,InitializeWizard,CurStepChanged(ssInstall)) 中调用,因此在这些情况下验证器尚未复制。

DeinitializeSetup:我可以在安装后执行 Validator.exe,但此时我无法中止我的安装程序。

在 Validator.exe 被复制并执行后,我需要一些方法来取消安装,也许调用卸载但我做不到。

谢谢你的帮助。

0 投票
7 回答
12931 浏览

javascript - 即使在调用 abort (jQuery) 之后,浏览器也会等待 ajax 调用完成

如果用户导航到另一个页面,我想中止一些(可能)长时间运行的 ajax 调用。以下 jQuery 代码在离开页面时对所有挂起的 XMLHttpRequest 对象调用 abort:

在一个测试用例中,我在调用服务器端操作时强制等待 10 秒。使用 Firebug,我确认当我单击页面上的任何链接时,上述代码确实会导致所有挂起的 ajax 调用立即停止。但是,浏览器仍会等待整整 10 秒,然后才能转到下一页。IE 似乎表现出相同的行为。这是已知的浏览器行为吗?在这种情况下,我能做些什么让用户立即离开页面?提前致谢。

0 投票
10 回答
85956 浏览

c++ - 如何以编程方式在 C/C++ 中导致核心转储

我想在我的 C++ 应用程序的特定位置强制进行核心转储。

我知道我可以通过执行以下操作来做到这一点:

但我想知道是否有更清洁的方法?

顺便说一句,我正在使用 Linux。

0 投票
8 回答
68015 浏览

c# - 杀死一个 .NET 线程

我创建了一个运行某种方法的线程。但有时我想杀死线程,即使它仍在工作。我怎样才能做到这一点?我尝试了 Thread.Abort() 但它显示了一个消息框,上面写着“线程中止”。我应该怎么办?