only0jac
V2EX  ›  服务器

Linux 下有 supervisord, Windows 下就没有类似的?各位还有哪些管理服务器的黑科技?

  •  
  •   only0jac · Aug 23, 2017 · 6713 views
    This topic created in 3279 days ago, the information mentioned may be changed or developed.
    以前服务器上就跑几个程序,每次重启服务器,都是再手动启动程序

    通过 Windows 的计划任务或者设置开机启动,能自动启动

    但是

    如果服务器不重启,程序挂掉了,有类似 supervisord 的监控程序么?

    不知道大家在管理服务器方面还有哪些黑科技?比如管理多台服务器、再比如快速部署之类的

    谢谢大家
    Supplement 1  ·  Aug 24, 2017
    那些收藏的 v 友们为什么不顺手给一楼点个感谢?
    9 replies    2017-08-25 16:26:03 +08:00
    wxlg1117
        1
    wxlg1117  
       Aug 24, 2017 via Android   ❤️ 6
    alwaysup 或者 firedaemon,都挺好用
    only0jac
        2
    only0jac  
    OP
       Aug 24, 2017 via Android
    @wxlg1117 感谢,前者比后者小很多
    hjc4869
        3
    hjc4869  
       Aug 24, 2017 via Android
    计划任务可以自动重启挂掉的进程。taskschd.dll 可以用 vbs/js 脚本或者 C#/C++等语言调用,也可以 powershell remote,部署起来方便极了。
    only0jac
        4
    only0jac  
    OP
       Aug 24, 2017 via Android
    @hjc4869 计划任务只能定时执行或者重启时执行吧?你说的那种是不是基于事件消息?那个事件消息,普通程序挂掉是没有消息的,mysql 有
    hjc4869
        5
    hjc4869  
       Aug 24, 2017
    @only0jac Settings 里有,If the task fails, restart every ____,这个 fails 就是指 task 的那个进程 exit code 不为 0。
    当然,你必须让你启动的那个进程一直活着。如果你想监控它子进程的状态,就办不到了。
    only0jac
        6
    only0jac  
    OP
       Aug 24, 2017
    @hjc4869 谢谢,不过有缺陷,你说的计划任务 If the task fails,是指在计划任务主动启动程序时,失败的话会再次重试,如果这个程序中途挂掉,就没办法自动拉起来
    hjc4869
        7
    hjc4869  
       Aug 25, 2017
    @only0jac 然而对于一个进程来讲没有所谓的“启动程序时”和“中途”的区分,创建一个进程不管过多久返回非 0 值在 taskschd 看来都是 failed。
    only0jac
        8
    only0jac  
    OP
       Aug 25, 2017 via Android
    @hjc4869 多谢,我描述一个场景,比如,服务器正常运行着几个程序,忽然其中一个挂掉了,我希望能自动拉起这个挂掉的程序并邮件通知我
    QQ2171775959
        9
    QQ2171775959  
       Aug 25, 2017
    监控方面,可以利用的工具还是蛮多。阿里监控也可以啊。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   869 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:56 · PVG 04:56 · LAX 13:56 · JFK 16:56
    ♥ Do have faith in what you're doing.