如何立即终止我的程序(使用代码).
(我不是在寻找那些说这不是犹太人的答案.我知道不是.)
编辑:寻找Windows和Linux解决方案.
EDIT2:我试过exit
,_exit
,abort
,并terminate
没有在Windows上的成功.
编辑3:虽然我还没有访问Linux盒子,但我能够使用以下代码成功杀死我的Windows程序:
int pid = _getpid();
char buff[256];
sprintf(buff, "taskkill /pid %d /f", pid);
system(buff);
Run Code Online (Sandbox Code Playgroud)
只需拨打电话_exit()
,可在Linux和Windows上使用.它不会像abort()
意志那样产生核心转储.
编辑:如果_exit()
对你不够好,你可能不得不去特定于平台.
在Windows上,你可以调用TerminateProcess()
,据我所知,这是杀死Windows API暴露的进程的最有力/最直接的方法(尽管如果有一个更强大的方法我很想了解它).
在Linux上,SIGKILL
正如Jeffery Thomas所建议的那样,提升可能会更好.我实际上不知道是否SIGKILL
更有力/立即_exit()
.
这两种方法都是异步的.
在POSIX兼容的UNIX系统上,raise(SIGKILL)
将执行您想要的操作.
对于Windows,TerminateProcess(GetCurrentProcess(),0)
我会先看看.注意:这可能会导致全局共享DLL的问题.
作为最后的评论,你没有提供任何细节,但是对于你想要做的任何事情,如果这是你的出路,那么你做错了.