如何在后台运行程序呢?
使用nohup命令即可,
nohup python dataset/ReferESpatialDataset.py >>dataset_20250417.log 2>&1 &
nohup your_command > output.log 2>&1 &
> 表示重定向标准输出到 output.log。
2>&1 表示将标准错误合并到标准输出。
& 表示后台运行。
重定向的时候:
>> 是 追加模式,表示将程序的输出追加到文件末尾,不覆盖原有内容。
> 是 覆盖模式,每次运行命令时会清空文件再写入新内容。
若无重定向,后台运行结果会存入 nohup.out
如何正常运行代码重定向呢?
根据如下代码,即可让运行结果存入 dataset_20250417.log里。
python dataset/ReferESpatialDataset.py >>dataset_20250417.log
nohup: ignoring input
如果程序不需要交互输入且输出已正确重定向,nohup: ignoring input 仅是一个警告,不影响程序运行。
如果程序需要交互输入,必须修改程序逻辑或使用 screen/tmux 替代 nohup。
始终显式重定向输出(> output.log 2>&1)以避免日志丢失。