完整的命令行程序

简介: 完整的命令行程序

提示

官方使用的是 C++ 来编写的,但是本人目前 C 还没有掌握, C++ 先放一放。

首先,一个完整的命令行程序应该包含哪些功能?


  1. 命令行参数解析
  2. 配置文件解析
  3. 打印帮助信息和版本信息
  4. 信号处理
  5. 日志、pid文件
  6. 如果是服务端长时间运行后台程序,还需要看门狗(崩溃自动重启)


下载文件:hmain_test.cpp

hmain_test 提供了打印帮助信息、打印版本信息、测试配置文件、后台运行、创建pid文件、查看进程状态、开始|停止|重启进程、 master-workers 多进程模式、崩溃自动重启等功能。


流程图如下:

提示

master-workers 进程模式是受 nginx 启发, master看门狗进程,负责 worker 的崩溃重启,也可以通过 masterworker 发送信号,如 hmain_test -s reload 重新加载配置文件。单独 kill 掉某个 worker 进程,是会被 master 重新 fork 出来的,需要通过 sudo killall hmain_test 杀死所有进程或者 hmain_test -s stop 发送停止信号。

目录
相关文章
|
6月前
|
Windows
用命令行快速打开软件
用命令行快速打开软件
|
6月前
|
安全 Java Shell
一篇文章讲明白LinuxShell远程执行命令(命令行与脚本方式)
一篇文章讲明白LinuxShell远程执行命令(命令行与脚本方式)
537 0
|
7月前
|
运维 开发工具 Windows
PowerShell系列(五):PowerShell通过脚本方式运行笔记
【1月更文挑战第7天】方便迁移,比如在之前工作经验积累下来的运维脚本,可以保存下来。如果业务场景用的到的话,直接文件拷贝过来就可以运行。
|
开发工具 Windows
编写bat文件在windows上自动执行cmd命令
windows 电脑上直接新建 txt 记事本文件,编写好要执行的命令后,将后缀修改成 .bat,然后直接点击文件就可以执行里面的命令了
293 0
|
开发者 Python
命令行与脚本|学习笔记
快速学习命令行与脚本
|
Unix Linux 安全
学会在命令行中获取帮助
 学会在命令行中获取帮助 在 Linux 环境中,如果你遇到困难,可以使用man命令,它是Manual pages的缩写。 Manual pages 是 UNIX 或类 UNIX 操作系统中在线软件文档的一种普遍的形式, 内容包括计算机程序(包括库和系统调用)、正式的标准和惯例,甚至是抽象的概念。
Powershell 编写和运行脚本
  Powershell 编写和运行脚本 一个Powershell仅仅是一个包含Powershell代码的文本文件。如果这个文本文件执行,Powershell解释器会逐行解释并执行它的的语句。
1143 0
下一篇
DataWorks