问题标签 [process-exit]
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.
.net - 在 Process.WaitForExit 失败后立即删除 EXE 的文件
我执行以下操作:
将可执行文件复制到
C:\temp\x.exe
启动可执行文件,然后通过调用返回的对象
System.Diagnostics.Process.Start
同步等待进程退出。WaitForExit
Process
Start
删除可执行文件
C:\temp\x.exe
在某些机器上,这很好用,但在其他机器上,调用DeleteFile
失败,因为该文件仍在使用中。所以似乎一旦WaitForExit
返回,并不意味着Windows已经完成了EXE。
我在这里有什么选择?DeleteFile
显而易见的一个可能是在几毫秒后再次尝试,在一个循环中,直到删除成功或循环超时。但是有没有更干净的方法来等待每个人都关闭文件?
c++ - 为什么我们在 c 语言的循环中使用退出函数中的任何值
在 C/C++ 语言循环语句中,我们使用 exit(0)、exit(1) 或其他值。该值需要什么,退出循环时该值在循环中的作用是什么,exit()中的1和0是什么意思?
linux - linux在杀死进程时是否释放自旋锁/信号量?
如果一个进程持有一些自旋锁或信号量,并意外退出(例如,被 linux 杀死),linux 会正确释放这些锁吗?如果linux不做这个工作,为什么?
java - 如果外部程序挂起,如何退出进程 (.exec())
让我解释一下我的软件。我的软件所做的只是创建 10 个线程并为每个线程分配多个任务。然后每个线程创建一个运行时进程,该进程将启动一个 cmd 批处理文件,该文件又将启动一个程序,该程序将远程登录到一个设备(我有大约 200 个)以轮询其配置。这是我的流程创建的代码:
batchFile
是批处理文件的完整路径。不要误会我的意思,该软件在 100% 的执行情况下都可以正常工作,并且它只在 95% 左右挂起一次,所以我正在努力寻找解决方案。为什么它挂起现在不是我的问题,而是以后如何处理挂断..!
现在的问题是我需要等待进程完成,因为我的 telnet 客户端将写入一个文件,我稍后将在线程中读取该文件;因此使用.waitFor()
. 我的问题是如何让线程了解外部程序挂起?换句话说,我可以给外部程序一些时间限制来完成吗?如果没有,线程会终止进程吗?
我还阅读了有关读取错误和输出流的信息;但是,我认为它不适用于这里,或者是吗?
c# - 进程经常过早退出
我有一小段代码(易于尝试):
有时发生的情况是,在我启动应用程序后立即触发断点,尽管它必须等待一个接一个地退出进程。它始终是所有文件的最后一个文件,无论是 2 个文件、3 个文件、4 个文件还是更多文件。唯一不会过早命中断点的情况是paths
仅包含一个文件时。(顺便说一句,也许我不太关心这种奇怪的行为,但是当我真正退出 .docx 文件(路径列表中的最后一个)时,断点没有被命中。
为什么会发生这种情况(过程有时会过早退出)以及如何防止这种情况发生?
更新:我只是注意到它不一定是最后一个文件paths
,有时它是随机的。
.net - AppDomain.ProcessExit 什么时候不会被调用?
启用//1
下面的行将导致程序崩溃而不会打印“proc exit”,但如果是 line //2
,将打印“proc exit”。在这两种情况下都会打印“未处理”btw。
为什么有区别,一般有什么规则?显然,使用例如任务管理器杀死应用程序将阻止打印“proc exit”,但除此之外,它没有被打印的情况是什么?
c# - 如何访问静态事件处理程序中的非静态成员?
我已经知道你通常不能这样做,但这是我的情况:
我有一个非静态List<T>
的,在正常使用期间添加,然后每隔一段时间转储到数据库中。我希望能够用来转储我尚未AppDomain.CurrentDomain.ProcessExit
转储的任何值。每次转储时都会清除List<T>
。List
有没有什么方法可以在List
没有给定上下文的情况下访问它,即使它是静态的-> 非静态的?
c# - EventsThreadsShutdown 并不总是,ProcessExit 总是有效,为什么
我需要一种通用(任何C#
应用程序)方法来捕获任何类型的C#
应用程序结束的事件,以便我可以在那时将日志数据写入文件。
我发现它Microsoft.Win32.SystemEvents.EventsThreadShutdown
没有捕获shutdown
我正在测试的多线程 C# 应用程序的事件SrcChess2
。 EventThreadShutdown
确实适用于简单的单线程应用程序。
然后我发现AppDomain.CurrentDomain.ProcessExit
它似乎可以在多线程和单线程应用程序中正常工作。
谁能解释为什么EventsThreadsShutdown
不总是有效,不适用于我的多线程应用程序?
谢谢!
node.js - 如何使 node.js 的 gitlab-ci 作业失败
在 giltab ci 作业中,我正在运行一个 node.js 脚本,我在其中评估一些条件,并且我可能希望强制作业失败。
该脚本是用 es6 编写的,使用 yarn 和 babel-node 运行yarn babel-node ./script-in-es6.js
。
当条件失败时,我希望工作失败。我尝试了以下方法:
但是这些命令都不足以使这项工作失败,它总是成功的。有没有一种正确的方法可以从 node.js 成功地让 gitlab 中的工作失败?