linux可以使用nohup命令,让服务器在ssh远程连接断掉后依旧可以运行程序,并且将程序的输出打印到nohup.out文件中。
命令使用:
1.nohup
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
2.&
用途:在后台运行
一般两个一起用
nohup command &
示例:
# 默认将日志输出到current_path下的nohup.out文件中(日志内容为train.py中所有打印到控制台的内容)
(base) [hostname current_path]$ nohup python train.py &
# 指定输出文件 (指定输出日志到当前路径下的log.txt文件中
(base) [hostname current_path]$ nohup python train.py &>log.txt
nohup命令实现了任务的后台运行。那在后台运行的任务产生的输出就会默认的记录在当前目录下的nohup