1

我有一个包含 302 个命令的文件,这些命令在我们的服务器上启动进程。一次盯着它们会杀了它,所以我有一个脚本,它将一个命令推送到 shell,等待进程完成,然后调用下一个。

整个过程可能需要一天左右的时间才能完成,我想在这期间注销。我知道有nohup,或者,如果你一开始就忘记了,disown确保即使你关闭连接,进程仍然会运行,但我不确定在我的情况下我应该把那个调用放在哪里。只有引导命令的脚本;仅在命令上;或两者兼而有之?

如果这是一个愚蠢的问题,我深表歉意,但我无法在网上找到该问题的简单答案,我不能因为我做错了什么而冒险破坏这些过程。

4

2 回答 2

2

当然你可以使用 nohup:

nohup <script name> &

您可以执行此命令并安全注销。然后您可以重新登录并使用 ps 命令查看您的脚本是否仍在运行。我还将创建一个日志文件,以便能够监控进度并将所有标准和错误输出重定向到该文件。

于 2013-01-11T16:44:09.533 回答
0

您可以安排您的脚本运行,这样您就不必在进程运行时连接到服务器。查看 cron 帮助:http ://www.scrounge.org/linux/cron.html

于 2013-01-11T15:07:58.463 回答