GitHubDaily
GitHubDaily
1503 1 0

绿色轻量级的程序守护程序joker

守护程序有成熟的 supervisor ,是用 python 写的,占用内存比较大,毕竟现在还使用 128MB 的VPS😂 打开supervisor 就占用 20% 的内存,有点浪费。

joker 是用 C 语言写的简洁的守护程序,功能简单,占用资源少,是用方法很简单。

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND 
31246 root      20   0   12600   1044    924 S  0.0  0.8   0:00.00 joker      

到官网下载源码自己编译或直接下载编译好的可实行文件,放到 /usr/local/bin 目录下。

运行命令:

joker /srv/www/yourapp/exe -c /conf/config.json

后台就会出现两个进程:

joker /srv/www/yourapp/exe -c /conf/config.json
/srv/www/yourapp/exe -c /conf/config.json

开机启动

需要配合 jinbe 工具, 这个是用 go 语言编写的,是用来处理命令行,然后写入系统启动任务。

jinbe joker /srv/www/yourapp/exe -c /conf/config.json

程序停止、启动

joker 太简单,没有太多功能可用

$ joker -h

joker: run command as daemon

    <command>   run your command
    list        show running commands
    stop <pid>  stop a command by SIGTERM
    log <pid>   view log of command
    last        view pid of last command

    help        show help
    version     show version

停止进程

joker stop <pid>

可以使用 joker last 查看最后的 pid,如果管理多个进程就用 ps 查看

下面的方式可简单关闭进程

joker stop `joker last`
joker last | xargs joker stop

v20221121 开始有个隐藏的命令
joker restart ID

注意问题

joker 没有 supervisor 切换到工作路径功能,最好程序本身能处理好路径问题。

日志存放在 $HOME/.joker 目录下,文件名 <pid>.app_name, 所以每次重启都有新文件生成。

绿色通道

0

See Also

Nearby


Discussion (1)

youbbs
youbbs 2022-12-08 11:44

其它进程守护推荐

  • supervisor:一个开源的进程守护工具,支持多进程管理,可以方便地监控和控制多个进程。
  • monit:一个轻量级的进程守护工具,支持进程状态监控和自动重启,可以用于保证服务的可用性和稳定性。
  • Systemd:一个系统和服务管理器,支持进程守护和依赖关系管理,可以用于维护系统的运行状态。
  • upstart:一个开源的进程守护工具,支持多线程管理和进程监控,可以方便地自动启动和重启服务。
  • runit:一个轻量级的进程守护工具,支持进程状态监控和自动重启,可以用于保证服务的可用性和稳定性。
0
Login Topics