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

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

最近在处理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选项是一种常见的命令行选项,用于指示程序仅在出现错误时显示信息。这意味着,如果程序正常运行并且没有遇到任何问题,它不会输出任何信息。但是,如果程序遇到错误或异常情况,它会显示相应的错误信息,以便用户了解发生了什么问题。

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

相关文章
|
7月前
|
Python
【python脚本】执行过程中触发若干次就停止执行脚本的方式
【python脚本】执行过程中触发若干次就停止执行脚本的方式
|
Ubuntu Linux Windows
项目实战:Qt终端命令模拟工具 v1.0.0(实时获取命令行输出,执行指令,模拟ctrl+c中止操作)
在Qt软件中实现部分终端控制命令行功能,使软件内可以又好的模拟终端控制,提升软件整体契合度。
项目实战:Qt终端命令模拟工具 v1.0.0(实时获取命令行输出,执行指令,模拟ctrl+c中止操作)
|
Linux
12.17 Linux把后台暂停的工作恢复执行(bg命令)
前面讲过,使用 Ctrl+Z 快捷键的方式,可以将前台工作放入后台,但是会处于暂停状态,那么,有没有办法可以让后台工作继续在后台执行呢?答案是肯定的,这就需要用到 bg 命令。
181 0
12.17 Linux把后台暂停的工作恢复执行(bg命令)
|
API 调度 Android开发
如何使用WorkManager执行后台任务(上)
0x00 简述 WorkManager 是 Android Jetpack中的一部分,它主要是封装了 Android 后台任务的调度逻辑。在前文《Android后台任务处理指南》一文中知道,WorkManager 是高级 API,它实际是封装了JobScheduler, Firebase Jo...
1687 0
如何使用WorkManager执行后台任务(下)
0x00 WorkManager的高级用法 在上一文中已经了解到 WorkManager的基本用法之后,今天来看看它的一些高级用法: 链式任务调用 唯一任务序列 传递参数和获取返回值 0x01 链式任务(Chained tasks) WorkManager在执行多个工作任务的时候,可以指定执行顺序。
1430 0
|
C++
郁闷的问题,如何让服务程序创建的线程工作在前台
这两天在用C++做这样一个程序:   用CreatService创建一个服务,然后让这个服务打开一个程序,我是这样做的.
912 0