我有一个包含 302 命令的文件,这些命令在我们的服务器上启动进程。一次盯着他们看会杀死它,所以我有一个脚本,将一个命令推送到 shell,等待进程完成,然后调用下一个。
整个过程可能需要一天左右的时间才能完成,我想在中间退出。我知道有 nohup
或者,如果你一开始就忘记了,disown
以确保即使你关闭连接,进程仍然会运行,但我不确定在我的案例中我应该把那个电话放在哪里。只有引导命令的脚本;仅在命令上;还是两者兼而有之?
如果这是一个愚蠢的问题,我深表歉意,但我无法在网上找到准确回答该问题的简单答案,我不能冒险因为我犯了错误而中断这些流程。
最佳答案
当然可以使用nohup:
nohup <script name> &
您可以执行此命令并安全注销。然后您可以重新登录并使用 ps 命令查看您的脚本是否仍在运行。我还会创建一个日志文件,以便能够监控进度并将所有标准和错误输出重定向到该文件。
关于linux - nohup 或 disown 是否适用于批处理脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14280776/