有时候远程连接服务器忽然中断或者不小心关掉了终端界面,正在运行的命令或者程序就会被强制停止。这时候,我们可以借助一些命令来避免这种情况的发生。

  • nohup 不挂断地运行命令
  • & 在后台运行命令,一般上述两个命令连起来一起用
  • nohup python3 train.py & 在后台进行模型的训练,输出都将附加到当前目录的 nohup.out 文件中
  • nohup python3 train.py & >> /path/filename 2>&1 & 自定义输出文件
  • jobs -l 查看当前 shell 运行的后台进程
  • ps -A 查看所有运行的进程
  • kill ID 停止进程
  • ctrl + c 终止命令
  • ctrl + d 退出 shell
  • ctrl + z 将当前进程置于后台,fg 还原

有时候我们需要删除大量的文件,比如动辄几十万的训练图片;或者,删除一个占用空间非常大的文件。这时候直接用 rm 命令可能会出错,而在图形界面操作的话速度也会特别慢。

  • mkdir temp; rsync --delete-before -d ./temp/ ./traindata/ 快速删除 traindata 文件夹的大量文件
  • touch temp.txt; rsync -a --delete-before -progress -stats ./temp.txt ./filename 将大文件变为空,即可快速删除

动态监视

  • watch
    -n:指定指令执行的间隔时间(秒);
    -d:高亮显示指令输出信息不同之处;
  • watch -n 1 -d nvidia-smis -stats ./temp.txt ./filename 每隔一秒显示显卡使用情况

获取更多精彩,请关注「seniusen」!