用Python编写守护进程是个好主意吗?

2024-07-03 06:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须编写一个后台进程程序,它经常在后台运行并执行一些简单的任务。这个逻辑一点也不复杂,但它必须运行很长一段时间并保持稳定。在

我认为C++是编写这种应用程序的好选择,但是我也在考虑Python,因为它更容易在其中快速编写和测试。在

我对Python的问题是,我不确定它的运行时环境在长时间内的表现。它会不会因为某些GC异常而占用越来越多的内存?它会意外坠毁吗?我以前从来没有用Python编写守护进程,所以如果这里有人写过,请分享一下您的经验。谢谢!在


Tags: 内存程序应用程序环境进程经验逻辑gc
3条回答

是的,它会漏水。是的,它可能会意外崩溃。什么都可以。在

<>我会说,在手动内存管理(例如C++)环境中,你很可能会意外地漏掉比你用Python之类的东西泄露的数据。在

至于意外崩溃,那么,任意一块Python可能比任意一块Java更容易意外崩溃,因为后者得益于static typing,在编译时可以捕获大量错误,Python具有{a2}和其他形式的灵活性。在

实际上,Python听起来是一个非常合理的选择。看看类似Twisted这样的东西,可以找到一个合适的引擎来构建周围的东西,或者至少是一个关于结构的概念(你的问题听起来像是学校的作业,所以我不确定你有多大的执行自由度)

我为上一家公司用Python编写了许多守护进程。简而言之,它很好用。只要代码本身没有巨大的内存炸弹,我就从未见过任何逐渐退化或占用内存的情况。请注意全局或类作用域中的任何内容,因为它们将继续存在,因此使用del要比通常更自由。否则,就像我说的,我不能亲自报告任何问题。在

如果你想知道,他们运行了几个月和几个月(假设通常是6个月)之间的例行重启零问题。在

我在C/C++和Perl中编写了很多东西,这些东西是在Linux盒O.S.Boo靴启动的时候使用RC .D.

来启动的。

另外,我还编写了一些java和python脚本,它们的启动方式与前面提到的相同,但是我需要一个小的shell脚本(.sh文件)来启动它们,我使用了rc.5。在

让我告诉你,你对他们的运行时环境的担忧是完全正确的,你必须小心你将要使用的运行级别。。。(只从rc.2到rc.5,因为rc.1和rc.6是针对系统的)。在

如果运行级别太低,python运行时可能在启动程序时没有启动,它可能会失败。e、 g:在LAMP服务器中,MySQL和Apache是在网络已经可用的rc.3中启动的。在

我认为最好的办法是用python编写脚本,然后使用rc.5中的.sh文件启动它。

祝你好运!在

相关问题 更多 >