我有一个包含302个命令的文件,它们在我们的服务器上启动进程。一下子把它们全部盯上就会杀死它,所以我有一个脚本将一个命令推送到shell,等待进程完成,然后调用下一个。
整个过程可能需要一天左右才能完成,我想在两者之间注销。我知道有nohup
或者,如果您在开头忘记了disown
,即使您关闭了连接,也要确保进程仍然会运行,但我不知道应该在哪里拨打该电话在我的情况下。只有引导命令的脚本;只在命令上;或两者兼而有之?
如果这是一个愚蠢的问题,我道歉,但我无法在网上找到一个简单的答案,我不能因为我出错了而打扰这些流程。
答案 0 :(得分:2)
当然可以使用nohup:
nohup <script name> &
您可以执行此命令并安全注销。然后,您可以重新登录并使用ps命令查看您的脚本是否仍在运行。我还会创建一个日志文件,以便能够监视进度并将所有标准和错误输出重定向到该文件。
答案 1 :(得分:0)
您可以安排脚本运行,这样您就不必在进程运行时连接到服务器。 请参阅cron帮助:http://www.scrounge.org/linux/cron.html