跳转至

shutdown命令使用说明

当前支持用户直接在应用内调用shutdown,从而触发后台对应用停用。

当不确定自己的代码需要执行多久结束,希望执行完成后立马停用时,可以使用 shutdown (最好使用命令完整路径: /usr/sbin/shutdown)。

具体操作方式如下:

注意事项

1、shutdown 在实现上需要经过后台处理,基于网络问题等因素,存在失败可能性,如果需要保证成功,需要用户加入重试逻辑。

2、shutdown命令的执行日志会保存在应用系统盘下,如果发生停用失败且需要找客服追溯的场景,请不要重置系统、销毁应用,从而保留现场。

3、最好使用命令完整路径: /usr/sbin/shutdown。

方法1 通过shell客户端调用shutdown

1、打开JupyterLab

2、在弹出的终端执行shutdown

# 调用shutdown但不重试
/usr/sbin/shutdown
# 调用shutdown直到成功退出
while :; do /usr/sbin/shutdown; sleep 3s; done

3、如无异常等待一段时间之后,可在 我的应用 看到应用已停用

img-shutdown

方式2 通过python脚本调用方法

在执行完命令后调用shutdown:

# 假设您的程序原执行命令为
python train.py

# 那么可以在您的程序后跟上shutdown命令
python train.py; /usr/sbin/shutdown      # 用;拼接意味着前边的指令不管执行成功与否,都会执行shutdown命令(推荐)
python train.py && /usr/sbin/shutdown    # 用&&拼接表示前边的命令执行成功后才会执行shutdown。请根据自己的需要选择

# 加上重试
python train.py; while :; do /usr/sbin/shutdown; sleep 3s; done

在您的Python代码中执行shutdown命令:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import os
import time

def shutdown():
    print("shutdowning")
    while 1:
        os.system("/usr/sbin/shutdown")
        time.sleep(3)

if __name__ == "__main__":
    # 此处编写你的代码
    # 调用shutdown直到成功
    shutdown()
    # 调用shutdown但不重试
    # os.system("/usr/sbin/shutdown")