标签: exit

如何告诉我的Cocoa应用程序从应用程序本身退出?

我正在寻找一种告诉我的Cocoa应用程序退出的好方法.请放心,这不会用于生产代码.我只是在寻找一种简单的方法来运行一个测试,然后在调试期间关闭应用程序.

我发现exit(0);将关闭应用程序,但它绕过了所有正常的应用程序退出程序,我想保留所有这些程序.

基本上我想让事情好像用户从菜单中拉出"退出",但我希望它在我完成测试后自动发生.

我的代码目前看起来像这样:

#if (SUPERFANCY_TESTING_MODE)
    [self doSomething];
    exit(0); // <-- I need something better to go here
#endif
Run Code Online (Sandbox Code Playgroud)

debugging cocoa exit

33
推荐指数
1
解决办法
2万
查看次数

退出Python调试器ipdb

我经常使用ipdb,只是跳转到一段孤立的代码,即很难编写一个使用它的真实脚本.相反,我用模拟编写了一个最小的测试用例并跳转到它.

工作流程的示例:

def func():
   ...
   import ipdb
   ipdb.set_trace()
   ...

def test_case():
    ...
    func()
    ...
Run Code Online (Sandbox Code Playgroud)

然后,调用

py.test test_file.py -s -k test_case
Run Code Online (Sandbox Code Playgroud)

现在,通常我只检查一个或两个变量,然后想要退出.更改代码并重新执行.

我该如何戒烟?手册说q退出调试器.它(真的)没有.在调试器实际终止之前,您必须退出几次.Ctrl-C和Ctrl-D的相同行为(多次击中Ctrl-D的挫折最终也会退出终端).

是否有一种强制退出的聪明方法?这个工作流程是否合理?这样做的标准方法是什么?

python debugging workflow exit ipdb

33
推荐指数
4
解决办法
1万
查看次数

Application.Exit()vs Application.ExitThread()vs Environment.Exit()

我想知道我应该使用哪个.关闭我的WinForm应用程序在对话模式下触发一个窗体.该表单运行一个后台工作程序,它将数据库与远程数据库同步,并在"启动表单"上显示它的进度.

我有一个像这样的方法:

private void CloseMyApp()
{
    SaveUserSettings();

    splashForm = new SplashForm();
    splashForm.ShowDialog();

    Application.ExitThread();
    //Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)

这就是我所说的从菜单 - >退出Form_FormClosing()事件中关闭我的应用程序. Application.Exit()给出以下错误 - >

收集被修改; 枚举操作可能无法执行.

现在我读到这Environment.Exit()是残酷的,意味着你的应用程序可能有问题(见这里).

Application.ExitThread() 虽然有效,但我认为它可能只是出现在工作中,因为在我不确定何时通常这样做之前我从未使用它.

.net c# multithreading exit winforms

32
推荐指数
2
解决办法
3万
查看次数

如何结束/强制关闭程序(在Clojure中)

我是一个相当不错的Java程序员,但我是Clojure编程的新手.

在Java中,为了强制退出程序,使用的代码是System.exit(0).这个代码有没有等同于Clojure?

clojure exit

31
推荐指数
2
解决办法
1万
查看次数

即使进程正在运行,Process.HasExited也会返回true?

我一直在观察,即使进程仍在运行,Process.HasExited有时也会返回true.

我的代码在下面启动一个名为"testprogram.exe"的进程,然后等待它退出.问题是有时我会抛出异常; 似乎即使HasExited返回true过程本身在系统中仍然存在 - 这怎么可能?

我的程序在它终止之前写入日志文件,因此我需要在读取之前绝对确定该日志文件存在(也就是进程已终止/完成).不断检查它的存在不是一种选择.

// Create new process object
process = new Process();

// Setup event handlers
process.EnableRaisingEvents = true;
process.OutputDataReceived += OutputDataReceivedEvent;
process.ErrorDataReceived += ErrorDataReceivedEvent;
process.Exited += ProgramExitedEvent;

// Setup start info
ProcessStartInfo psi = new ProcessStartInfo
                           {
                               FileName = ExePath,
                               // Must be false to redirect IO
                               UseShellExecute = false,
                               RedirectStandardOutput = true,
                               RedirectStandardError = true,
                               Arguments = arguments
                           };

process.StartInfo = psi;

// Start the program
process.Start(); …
Run Code Online (Sandbox Code Playgroud)

c# process exit terminate

31
推荐指数
5
解决办法
3万
查看次数

如何干净地退出线程C++程序?

我正在我的程序中创建多个线程.按下时Ctrl-C,将调用信号处理程序.在一个信号处理程序里面,我exit(0)终于放了.问题是,有时程序安全终止,但有时,我得到运行时错误说明

abort() has been called
Run Code Online (Sandbox Code Playgroud)

那么避免错误的可能解决方案是什么?

c++ multithreading signals exit

31
推荐指数
3
解决办法
8253
查看次数

如何退出C++控制台程序?

是否有一行代码将终止该程序?

像python的东西sys.exit()

c++ exit

29
推荐指数
3
解决办法
12万
查看次数

你如何干净地退出互动Lua?

我试过在一行上单词"quit",但这似乎只是将命令行指针从">"更改为">>".在交互式Lua中结束会话的最佳方法是什么?

scripting lua interactive exit

29
推荐指数
1
解决办法
2万
查看次数

如何退出REPL

我正试图退出REPL.

我使用(. System exit 0)(System/exit 0),但这会导致错误:

Exception in thread "Thread-3" java.lang.RuntimeException: java.lang.IndexOutOfBoundsException
Run Code Online (Sandbox Code Playgroud)

还有另一种退出REPL的方法吗?我该如何解决这个错误?

clojure exit read-eval-print-loop

29
推荐指数
5
解决办法
2万
查看次数

正常关闭node.JS HTTP服务器

这是我正在处理的简单网络服务器

var server = require("http").createServer(function(req,resp) {
    resp.writeHead(200,{"Content-Type":"text/plain"})
    resp.write("hi")
    resp.end()
    server.close()
})
server.listen(80, 'localhost')
// The shortest webserver you ever did see! Thanks to Node.JS :)
Run Code Online (Sandbox Code Playgroud)

除了保持活力之外,效果很好.当第一个请求进入时,server.close会被调用.但这个过程并没有结束.实际上TCP连接仍然是打开的,这允许另一个请求通过,这是我试图避免的.

如何关闭现有的保持连接?

http exit node.js

28
推荐指数
2
解决办法
2万
查看次数