【发布时间】:2014-06-03 02:42:08
【问题描述】:
这是我在这里发布的第一个问题。我试图进行整个搜索,但如果我没有(答案在其他地方很明显),请告诉我。
我有一个为我运行程序的脚本,这里是:
csv_file=../data/teste_nohup.csv
trace_file=../data/gnp.trace
declare -i n=100
declare -i p=1
declare -i counter=0
while [ $counter -lt 3 ];
do
n=100
while true
do
nice -19 sage gnptest.py ${n} ${p} | tee -a ${csv_file}
notify-send "finished test gnp ${n} ${p}"
done
done
所以,我要做的是运行 gnptest.py 程序几次,然后将结果写入 csv_file。
问题是,根据输入,程序可能需要很长时间才能完成。所以我想通过ssh连接到服务器,启动程序,关闭终端,时不时检查一下输出文件。 我试过 nohup 和 disown。 Nohup 创建了一个巨大的 nohup.out 文件,其中充满了我在正常运行脚本时没有得到的错误(例如,它抱怨使用 -lt 操作数)。但我面临的最大问题是没有命令(nohup ou disown -h)正在执行程序并将输出发送到我在 csv_file 变量中指定的文件,这是使用 tee 命令完成的。此外,在我注销后,它们似乎都没有继续运行......
任何帮助将不胜感激。
提前致谢!!
【问题讨论】:
-
你可以试试screen或者dtach。
-
或tmux! :D
-
或者使用nohup在后台运行脚本
-
非常感谢你们的快速回复!!!我尝试了屏幕,它就像一个魅力!我很开心!!谢谢@evading 我不能使用 tmux,因为我不允许在我正在使用的服务器上安装软件。正如我之前所说,我尝试使用 nohup,但它对我不起作用。但同样,我真的很感谢所有的帮助!