Python命令

nohup python3 -u main.py >/dev/null 2>&1 &

这条命令用于在后台运行一个Python脚本,并且不会将输出显示在终端上。

解释:

  • nohup:这个命令用于在终端关闭后继续运行指定的命令。通常用于长时间运行的任务。
  • python3 -u main.py:这是执行Python脚本的命令,其中-u选项用于无缓冲模式运行Python脚本,即立即将输出刷到文件或标准输出。
  • >/dev/null:将标准输出(即程序正常输出的信息)重定向到/dev/null,相当于将其丢弃。
  • 2>&1:将标准错误输出(即程序错误信息)重定向到标准输出,因为标准输出已经重定向到了/dev/null,所以错误信息也会被丢弃。
  • &:将整个命令放到后台执行,这样你可以继续在当前终端会话中执行其他命令。

总结:
这条命令的效果是在后台执行main.py脚本,且不会在终端中显示任何输出(无论是正常输出还是错误信息)。

until python3 -u main.py; do echo "main.py crashed with exit code $?; restarting..."; sleep 1; done

你可以使用一条命令来实现自动重启 main.py 程序。可以利用 until 循环来实现这一点:

until python3 -u main.py; do echo "main.py crashed with exit code $?; restarting..."; sleep 1; done

解释:

  1. until python3 -u main.py: until 循环会一直执行直到 python3 -u main.py 成功退出。如果 main.py 退出码是非零(即程序异常退出),until 循环会继续执行。
  2. ; do echo "main.py crashed with exit code $?; restarting...": 当 main.py 崩溃时,输出提示信息,显示退出代码。
  3. ; sleep 1; done: 等待 1 秒,然后重新启动 main.py

将这条命令直接复制到终端并执行即可,脚本将会在程序崩溃时自动重启 main.py

    评论
    0 评论
avatar

取消