当Python脚本运行并以sys.exit0结束时给出错误:以状态2退出

问题描述

我正在尝试进行keepalived配置和一个脚本,该脚本我使用并直接以sys.exit(0)结尾给出该错误

/usr/bin/script.py exited with status 2

该如何纠正?

我的脚本代码

import sys
sys.exit(0)

我的Keepalived conf文件

vrrp_script chk_myscript {
    script       "/usr/bin/script.py"
    interval 2
    fall 2
    rise 2
}

vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 20
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121
    }
    track_script {
       myscript
    }
}

解决方法

您遗漏了shebang,因此该脚本当前不会被解释为python脚本。将#!/usr/bin/env python添加到脚本顶部即可解决此问题。