一些常用的screen命令。当使用xshell在远程服务器上跑程序时,本地的网络或者断电后,服务器上的程序也会停止。可以使用screen命令在服务器上新建一个独立的窗口来解决这个问题。
错误
错误:
SyntaxError: Non-ASCII character '\xe7' in file test.py on line 131, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
原因:python的默认编码文件是用的ASCII码,无法显示中文
我这里的情况是:在screen外,运行代码没有这个错误,但是在screen里,会报这个错。
进入screen后,需要重新进入Python虚拟环境conda activate envs_name
命令
# 新建screen
screen -S testtemp
# 列出当前所有的screen
screen -ls
输出的格式: (PID).(screen name) (date of screen create) (state: Detached(没有窗口连接) Attached(已有窗口连接))
例如:3733.SS (2020年08月17日 10时54分17秒) (Attached)
# 退出当前screen
''ctrl+a 松开后 按d''
# 进入某个screen,其中 screen_pid(106674) 通过 screen -ls 查看
screen -r 106674
# 如果该screen的状态是Attached时,-r 命令会失效,此时可用:
screen -rd 106674
# 删除特定的screen(106674)
kill 106674
# 判断当前界面是否在screen里。返回空,就说明不在;否则返回screen的PID
echo $STY