linux – 如何保持“永远”运行Free Pascal控制台应用程序?
发布时间:2020-12-13 23:04:25 所属栏目:Linux 来源:网络整理
导读:在 Linux Free Pascal 2.6.0控制台应用程序中,HTTP服务器启动并在单独的线程中运行,因此对Start的调用将立即返回. begin ... MyHTTPServer.Start; ... WriteLn('Application terminated');end; 为了防止控制台关闭,我可以使用简单的无限循环,如: // wait,re
在
Linux Free Pascal 2.6.0控制台应用程序中,HTTP服务器启动并在单独的线程中运行,因此对Start的调用将立即返回.
begin ... MyHTTPServer.Start; ... WriteLn('Application terminated'); end; 为了防止控制台关闭,我可以使用简单的无限循环,如: // wait,read and ignore input from stdin while True do ReadLn; 要么 // Sleep as long as possible while True do Sleep(MaxInt); 你更喜欢哪一个?或者有更好的方法来保持应用程序运行? 解决方法
这是一个非常好的问题,我不知道为什么人们会投票.一个来自我.
它不仅仅是永远等待的问题(当checkforsomeevent做睡眠时(10);会在checkforsomeevent检查你想要终止的任何事件的情况下执行,或者如果不这样做则执行TRUE.因为线程无关,所以睡觉(0)似乎是浪费资源) 更大的问题是Windows将终止长时间运行的控制台程序,这些程序在一段时间后初始化线程支持,因为它认为它们“挂起”. 我不完全确定这是(墙)运行时间,或CPU资源. Free Pascal帮助编译器chmcmd可以运行很长时间(分钟,因为它正在压缩html).它支持* nix上的线程,但我从来没有让它在Windows下正常工作. (诚??然,由于chmcmd主要用于* nix,因此它不是高优先级项目) 我回过头来研究了一下,看来你必须注册一个窗口句并处理消息以避免这种情况.我试过这个但是失败了,找不到补丁atm,它可能在我的工作系统上. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |