当程序放在远程服务器上运行时,若是链接断开,程序将中止在服务器上运行。或者程序须要执行的时间较长,而超出必定时长后,XShell会自行断开链接,致使程序运行被终止。
在跑深度网络,或下载测试数据时,因为网络不稳定,ssh链接可能会断开,程序终止运行。
为了保证程序可以在断开链接后依然正常运行,且将输出保存到指定文件中,可使用screen,tmux,byobu,其中推荐使用byobu。
byobu使用screen或tumx做为后端,使用起来简单快捷。首先安装byobu,并使用screen做为后端:linux
sudo apt install screen byobu -y byobu-select-backend Select the byobu backend: 1. tmux 2. screen Choose 1-2 [1]: 2
而后为正常显示中文,修改编码配置项,vi ~/.byobu/.screenrc
git
defutf8 on defencoding utf8 encoding UTF-8 UTF-8
就能够正常使用byobu建立后台对话了。推荐使用的方式是byobu -S wz
建立名为wz的对话
建立window:F2
切换window:F3(左)F4(右)
临时断开与session的连接:F6
断开session后再次进入:byobu -r jayzon
进入Copy模式:F7,进入后能够以相似vim的模式向上翻页,查看历史log
关闭window:ctrl-d
强制关闭window:ctrl-a k后输入y确认
重命名window:F8 (部分环境下须要使用ctrl-a A代替),而后输入window的名字github
若是建立了多个对话,能够经过byobu-select-session
进行选择。json
首先在本地建立一个新文件夹,用于与远程文件夹同步。
而后经过package control安装SFTP插件,在文件夹上右键选择SFTP,Map到远程文件夹,生成一个sftp-config.json
的控制文件。
填上地址,端口,用户和密码,就创建起了映射。
能够在"ignore_regexes"
选项中添加忽略的文件后缀和文件夹。
具体能够看https://codexns.io/products/sftp_for_sublime/faq#Ignore。
其中"\\.jpg"
表示忽略该文件夹及其子文件夹下的全部jpg文件夹,"/venv/"
表示忽略pycharm中的虚拟环境文件夹venv。vim
{ // The tab key will cycle through the settings when first created // Visit http://wbond.net/sublime_packages/sftp/settings for help // sftp, ftp or ftps "type": "sftp", "save_before_upload": true, "upload_on_save": false, "sync_down_on_open": false, "sync_skip_deletes": false, "sync_same_age": true, "confirm_downloads": false, "confirm_sync": true, "confirm_overwrite_newer": false, "host": "example", "user": "root", "password": "aa", "port": "37089", "remote_path": "/root/SSD/", "ignore_regexes": [ "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json", "sftp-settings\\.json", "/venv/", "\\.svn/", "\\.hg/", "\\.git/", "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini", "/datasets/", "/build/", "/models/", "/.github/", "\\__pycache__/", "\\.egg-info/", "\\.jpg", "\\.png", "\\.pt", "\\.pth", "\\.so", "\\.pyc", "\\.gitignore", ".egg" ], //"file_permissions": "664", //"dir_permissions": "775", //"extra_list_connections": 0, "connect_timeout": 30, "keepalive": 60, //"ftp_passive_mode": true, //"ftp_obey_passive_host": false, //"ssh_key_file": "~/.ssh/id_rsa", //"sftp_flags": ["-F", "/path/to/ssh_config"], //"preserve_modification_times": false, //"remote_time_offset_in_hours": 0, //"remote_encoding": "utf-8", //"remote_locale": "C", //"allow_config_upload": false, }