程序后台执行与前台执行速度出现差异

简介: 程序后台执行与前台执行速度出现差异

最近在处理bug时,发现程序后台执行与前台执行速度出现差异,起初以为是进程调度的问题,后来发现是start-stop-daemon命令启动后台服务少加了-q参数。小小的一个问题耗费了大量的时候去排查,特记录如此。

当你上网去简单搜索start-stop-daemon常用命令,会搜索到如下结果:
-S/--start:启动一个守护进程。
-K/--stop:停止一个守护进程。
-R/--restart:重启一个守护进程。
-P/--pidfile <文件路径>:指定进程ID文件的路径,用于记录守护进程的PID。
-b/--background:以后台模式运行守护进程。
--make-pidfile:创建一个空的进程ID文件,即使守护进程没有正确生成PID时也会创建该文件。
--remove-pidfile:在停止或重启守护进程后删除PID文件。
--chdir <目录路径>:设置工作目录为指定的目录路径。
--exec <可执行程序> [<参数>]:指定要运行的可执行程序及其参数。
--user <用户名>[/UID]和--group <组名>[/GID]:以指定用户和组身份来运行守护进程。
--name <名称>:为守护进程设置一个自定义名称。

里面没有-q选项的介绍。完美“避坑”!

接着查资料,发现:
-q或--quiet选项是一种常见的命令行选项,用于指示程序仅在出现错误时显示信息。这意味着,如果程序正常运行并且没有遇到任何问题,它不会输出任何信息。但是,如果程序遇到错误或异常情况,它会显示相应的错误信息,以便用户了解发生了什么问题。

这种选项通常用于减少程序运行时的噪音,使其更易于使用。通过仅在必要时显示信息,用户可以更专注于程序的实际输出或结果,而不是被大量的常规信息所淹没。有时候还能提高程序运行速度。

相关文章
|
Kubernetes Java 测试技术
无忧微服务:如何实现大流量下新版本的发布自由
本文讨论了微服务上云过程中的稳定性挑战,特别是变更引起的生产故障。阿里云MSE(微服务引擎)提供了一种全链路无损发布方案,旨在消除变更风险,实现白天流量高峰时的安全发布。
1159 117
|
API C# Windows
Winform控件优化之无边框窗体及其拖动、调整大小和实现最大最小化关闭功能的自定义标题栏效果
Winform中实现无边框窗体只需要设置FormBorderStyle = FormBorderStyle.None,但是无边框下我们需要保留移动窗体、拖拽调整大小、自定义美观好看的标题栏等...
5141 0
Winform控件优化之无边框窗体及其拖动、调整大小和实现最大最小化关闭功能的自定义标题栏效果
|
网络协议 网络性能优化 数据安全/隐私保护
IPV4与IPV6之间的区别
IPv4(32位,42.9亿地址)面临枯竭,促成了IPv6(128位,近乎无限地址)的诞生。IPv6增强安全性,提供身份验证,使用灵活的ICMPv6和SLAAC配置地址,其十六进制表示法区别于IPv4的点分十进制。IPv6还优化了数据包处理,包含Flow Label以提升服务质量,使用AAAA记录进行DNS映射。随着需求增长,IPv6正逐步成为标准。
|
前端开发
在react中使用wangEditor3
在react中使用wangEditor3
221 15
|
存储 NoSQL Java
分布式session-SpringSession的应用
Spring Session 提供了一种创建和管理 Servlet HttpSession 的方案,默认使用外置 Redis 存储 Session 数据,解决了 Session 共享问题。其特性包括:API 及实现用于管理用户会话、以应用容器中性方式替换 HttpSession、简化集群会话支持、管理单个浏览器实例中的多个用户会话以及通过 headers 提供会话 ID 以使用 RESTful API。Spring Session 通过 SessionRepositoryFilter 实现,拦截请求并转换 request 和 response 对象,从而实现 Session 的创建与管理。
330 0
分布式session-SpringSession的应用
|
消息中间件 存储 Linux
linux实时应用如何printf输出不影响实时性?
本文探讨了Linux实时任务中为何不能直接使用`printf(3)`,并介绍了实现不影响实时性的解决方案。实时任务的执行时间必须确定且短,但`printf(3)`的延迟取决于多个因素,包括用户态glibc缓冲、内核态TTY驱动和硬件。为确保实时性,通常将非实时IO操作交给低优先级任务处理,通过实时进程间通信传递信息。然而,即使这样,`printf(3)`在glibc中的实现仍可能导致高优先级任务阻塞。Xenomai 3提供了一个实时的`printf()`实现,通过libcobalt库在应用编译链接时自动处理,预分配内存,使用共享内存和线程特有数据来提高效率和实时性。
1051 0
linux实时应用如何printf输出不影响实时性?
|
Java Linux 应用服务中间件
Linux启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
Linux启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
1008 0
|
存储 编译器 Linux
【C++】float / double 与 0 值比较
使用普通的比较没有问题,如果考虑精度的话,需要与具体的值比较
1688 0
【C++】float / double 与 0 值比较
|
.NET C# 开发框架
【技术贴】c# asp.net 无法直接启动带有“类库输出类型”的项目 若要调试此项目,请在此解决方
c# asp.net 无法直接启动带有“类库输出类型”的项目 若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项     解决办法: 右键解决方案-&gt;属性-&gt;通用属性-&gt;启动项目-&gt;单启动项目-&gt;选择Web项目
2533 0
|
Windows
pyinstaller 打包含有multiprocessing多进程代码异常处理
pyinstaller 打包含有multiprocessing多进程代码异常处理