在计算引擎ssh问题中用python追加文件
我在计算引擎中有一个debian实例 我在上面运行了一个python脚本, 在脚本的末尾,我有以下代码来附加一个tkt文件在计算引擎ssh问题中用python追加文件,python,ssh,google-compute-engine,Python,Ssh,Google Compute Engine,我在计算引擎中有一个debian实例 我在上面运行了一个python脚本, 在脚本的末尾,我有以下代码来附加一个tkt文件 with open("Optimisation.txt", "a+") as myfile: myfile.write(str(Results)) myfile.write("\n" ) 我使用python MyScript.py& 当我打开ssh控制台时,它会正确地追加文件,但当我关闭控制台时,scipt会继续工作,但
with open("Optimisation.txt", "a+") as myfile:
myfile.write(str(Results))
myfile.write("\n" )
我使用python MyScript.py&
当我打开ssh控制台时,它会正确地追加文件,但当我关闭控制台时,scipt会继续工作,但不再显示文件
当我重新打开控制台并输入sudo-s
&ps-fux
时,我可以看到scipt正确运行
在我的计算机和我的开放式控制台debian上,它工作,但在我关闭控制台时不工作。python MyScript.py&将使用子shell在后台运行该进程。如果当前shell被终止(比如通过注销),所有子shell也将被终止,因此后台进程也将被终止。nohup命令忽略HUP信号,因此即使当前shell终止,子shell和myprocess.out也将继续在后台运行 理想情况下,您应该使用以下命令调用脚本
nohup python MyScript.py > MyOutput.log 2>&1 &
你能澄清一下“控制台”是什么意思吗?你能在本地机器上运行这个脚本吗?您还可以通过以下链接查看日志,查看是否有任何其他进程正在中断您的脚本:谢谢,我正在尝试。您能解释一下您解释的这一部分吗?'>MyOutput.log 2>&1&它将STDOUT和STDERR重定向到日志文件(MyOutput.log)@guiguidm 2是STDERR的Unix文件号。1是标准输出的Unix文件号。
2>&1
表示将stderr写入stdout而不是stderr。这样,stderr和stdout都可以重定向到同一个文件。