• Linux中的守护进程——supervise


    絮叨

      supervise是daemontools的一个工具,可以用来监控管理Unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序。
      本文介绍一下supervise的安装和使用。

    安装、使用、栗子

    安装:

      官网有介绍,不再赘述:

        https://cr.yp.to/daemontools/install.html

      其中这个命令的‘1755’引起我的深思。。。,在这里《Linux下chmod命令》给出详细解释。

    chmod 1755 /package

    使用栗子:

      网上能搜到关于supervise的介绍基本都出自同一篇博客,使用栗子都是跑一个C程序,这里就跑个Java吧:

      1.创建一个文件夹,并创建java类

    ➜  ~ mkdir testsv
    ➜  ~ cd testsv
    ➜  testsv vim Test.java

      2.Test.java,通过Scanner保持main线程,直到在控制台输入信息才结束。

    package testsv;
    import java.util.Scanner;
    public class Test {
            public static void main(String[] args) {
                    System.out.println("Hello Java!");
                    Scanner scanner = new Scanner(System.in);
                    scanner.next();
            }
    }

      3.编译,试运行

      可以看到带包名(带有package的情况)时,直接‘java Test’是不能执行的,这个问题,下次再详细说吧。。

      4.在当前文件夹下,新建一个可执行的脚本"run"(chmod命令详情

    ➜  testsv vim run
    #!/bin/sh
    echo "start test!"
    java -cp .. testsv.Test
    ➜  testsv chmod +x run

      5.验证supervise的功能

      无论是在程序中终止,还是直接kill进程,supervise都会立即将程序重启,始终保持run的状态。

  • 相关阅读:
    Winform 让跨线程访问变得更简单
    Winform 单实例运行
    webservice 测试窗体只能用于来自本地计算机的请求
    使用srvany.exe把程序安装成windows服务
    学习ExtJS4 常用控件
    [leetcode]Unique Binary Search Trees
    [leetcode]Subsets II
    [leetcode]Subsets
    [leetcode]Valid Number
    [leetcode]Permutation Sequence
  • 原文地址:https://www.cnblogs.com/zhengbin/p/5977453.html
Copyright © 2020-2023  润新知