我想运行一个运行 python 程序并在程序完成后关闭的 shell 脚本。这是我写的
#!/bin/bash
python program
sudo shutdown -h now
这只是关闭系统而无需等待程序完成。是否有不同的命令可以等待程序完成?
您在示例中所拥有的内容实际上应该只在 python 命令完成后关闭,除非 python 程序提前分叉或背景。
运行它的另一种方法是使关闭以第一个命令的成功为条件
python command && sudo shutdown -h now
当然,如果 python 程序执行诸如分叉或守护进程之类的操作,这仍然无济于事。只需尝试单独运行 python 脚本并注意控制是否立即返回到控制台。
或者,您可以command substitution
像这样使用:
$(command to run your program)
脚本一直等到包装的命令完成,然后再移动到下一个!
#!/bin/sh
$(python program.py)
sudo shutdown -P 0